【发布时间】:2023-03-20 13:52:01
【问题描述】:
我有一个 Animal 的基类和 Dog、Cat 的派生类。
我还有一个 DogCollection、CatCollection 类来管理操作,例如添加一只新猫等、读取一只猫、从数据库中删除一只猫、使用指向 Dog 和 Cat 类的指针搜索特定的猫。
有人要求我使用基类指针来管理单个容器中的类。为此,在 Dog 和 Cat 类中执行读写操作而不是在单独的 DogCollection 和 CatCollection 类中执行读取和写入操作是否更好?
【问题讨论】:
-
请显示一些代码。你的最后一段让我有点困惑。我明白这是家庭作业。听起来您被要求使用
AnimalCollection而不是DogCollection和CatCollection,但我无法理解您的最后一个问题。 -
我的理解是,您被要求拥有一个指向
Animal的指针容器,您可以在其中存储指向Dogs 和Cats 的指针。所以,我想,你说的是虚拟调度。 -
相信你要找的是
Dog wMyDog;Animal * wAnimal = wMyDog;
标签: c++ inheritance polymorphism