0

私は4つのクラスを持っています、

クラスA(抽象)、

クラス B (abstract)、(ベクトル型 (クラス A) のメンバー変数として持つ)

クラス A のサブクラスであるクラス C

クラス B のサブクラスであるクラス D

クラス D のメンバー変数をベクトル (クラス A) ではなくベクトル (クラス C) 型に再定義できますか。代わりに配列にしたほうがよいでしょうか。

4

2 に答える 2

0

いいえ、それは許可されていません。次の状況のた​​め、機能しません。

クラス B の関数がクラス A (クラス C ではない) のベクトルに要素を追加する場合、これは基本クラスでは許可されますが、型が変更されているため、特定のサブクラス (C) では許可されません。

于 2012-12-17T10:33:36.403 に答える
0

クラス D のメンバ変数をベクトル (クラス A) ではなくベクトル (クラス C) 型に再定義できますか。

いいえ、できません。データ メンバーが基本クラスで宣言されると、まったく同じ形式ですべての派生クラスに継承されます。

できることは、基本クラス メンバーを へのポインタに変換し、 のインスタンスまたは のインスタンスを指すようAに初期化することです。AC

于 2012-12-17T10:33:45.043 に答える