我正在尝试将子对象传递给方法,但提前不知道对象类型,除了它将从父对象继承。我可以将类型设置为父类型,编译器很高兴,但是当这个过程发生时我会丢失子数据。
class Parent{
public:
Parent(int val);
};
class Child{
public:
Child(double childval, int parentval)
};
Child::Child(double childval, int parentval) : Parent(parentval)
Child childObj = new Child(cval, pval);
int someOtherMethod(Parent pobj);
someOtherMethod(childObj); // Looses child data but parent data persists. How to keep child data too?
很好,但是如果我将 childObj 传递给 someOtherMethod ,则子数据会丢失,并且只保留父数据。
我研究了虚函数、动态绑定、“设置”,但对我应该采取的方向感到完全困惑。
有人可以让我回到正轨吗?
谢谢。