C ++多态 - 从超类调用子类方法

时间:2014-10-25 18:52:55

标签: c++ polymorphism containers

我试图将一些对象存储在一个向量中,来自Animal的子类。我构建了它,所以我会有一个超级类Animal,它有ReptileMammal作为子类。到目前为止,这些应该是抽象的,因为我在它们上实现了抽象方法。

每个子类都有子类,例如CrocodileLizard作为Reptile的子类,DogCat作为{{1}的子类}。

我将它们存储在一个向量Mammal中以具有多态性,但是我在调​​用时遇到了问题,例如,std::vector<Animal*>特定的方法,在Mammal中没有意义{1}}超类,因为Animal是它的子类。

Reptile

如果不进行投射,我怎么能获得该方法呢?

1 个答案:

答案 0 :(得分:0)

重新设计代码结构以便您不会遇到此问题是您的最佳选择。但如果你坚持这样做,请在StackOverflow上看到这个答案:

Subclass Methods