在通过异构列表调用虚函数时,我在弄清楚如何为成员数据分配值时遇到了一些麻烦。
这是我正在尝试做的一个例子:
class A
{
protected:
virtual void func1();
private:
A * list;
}
class B: public A
{
protected:
void func1();
private:
int i1, i2;
}
在 main() 中:
list = new A[10];
list[0] = new B;
list[0]->Func1();
Func1() 声明:
void B::Func1()
{
int a, b;
cin >> a >> b;
list[0]->i1 = a;
list[0]->i2 = b;
// or can I just do this:
// i1 = a;
// i2 = b;
}
如果通过 main 中的父类的指针进行调用,我正在寻找适当的方法来访问派生类的函数中的派生类的成员数据。任何帮助将非常感激!