假设您有以下类(class):
class Parent
{
// methods and members go here
};
然后你基于父创建一个子:
class Child : public Parent
{
public:
someFunction();
};
现在 Parent 类没有 someFunction() 但 Child 类有。假设您有一个父类 vector ,并且您想要调用子类的方法,假设该 vector 包含父类和子类的实例,前提是它们都是相同的基类型。
std::vector<Parent> myContainer;
myContainer.push_back(a parent);
myContainer.push_back(a child);
myContainer[1].someFunction();
我怎样才能使这项工作?我基本上是在尝试创建一个 parent vector ,但 child 也会进入该 vector 。我想调用一个 child 专用的方法。这可能吗?
最佳答案
多态性只适用于指针和引用,所以如果你创建一个指针 vector ,那么它是可能的。
关于C++ 从 parent 的 vector 中调用 child 的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30926577/