Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Mảng con trỏ trỏ đến đối tượng

16:04 06-07-2021 338 lượt xem 1 bình luận

Mọi người cho em hỏi với ạ.

Animal *list [20];   // Animal là lớp cha 

for(int i=0;i<20;i++)

 list [i]=new Cat;         // Cat là lớp con 

 list [i] ->Enter();      // phương thức  Enter()  được khai báo ở lớp cha 

 list [i] ->getName()     //  phương thức  getName()  được khai báo ở lớp con 

Vấn đề em gặp ở đây là : Khi khai báo như ở trên  list [i]-> getName() sẽ thông báo lỗi là : "class Animal has no member getName " .

Mọi người có thể giải thích giúp em đc ko ạ .Em cảm ơn :< 

 

 

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
VoTanDuc đã bình luận 19:19 06-07-2021

Theo mình nghĩ thì như vậy:

- Animal -> lớp cha

- Cat -> lớp con

=> Khi bạn khai báo list [i]=new Cat thì bạn không thể dùng list [i] đó dể trỏ đến chính phương thức của lớp Cat được.

Ví dụ: Con không thể dùng chính tài sản của con được bởi vì nó còn quá nhỏ, mà đứa con chỉ có thể dùng tài sản của cha để dùng. Thì bạn cứ tưởng tượng là tài sản của người cha chính là phương thức của lớp Animal nhé! Chúc bạn thành công

Câu hỏi mới nhất