異種のリストを介して仮想関数を呼び出すときに、メンバー データに値を割り当てる方法がわかりません。
これが私がやろうとしていることの例です:
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;
}
メインから親クラスのポインターを介して呼び出す場合、派生クラスの関数内で派生クラスのメンバー データにアクセスする適切な方法を探しています。どんな助けでも大歓迎です!