私は4つのクラスを持っています、
クラスA(抽象)、
クラス B (abstract)、(ベクトル型 (クラス A) のメンバー変数として持つ)
クラス A のサブクラスであるクラス C
クラス B のサブクラスであるクラス D
クラス D のメンバー変数をベクトル (クラス A) ではなくベクトル (クラス C) 型に再定義できますか。代わりに配列にしたほうがよいでしょうか。
私は4つのクラスを持っています、
クラスA(抽象)、
クラス B (abstract)、(ベクトル型 (クラス A) のメンバー変数として持つ)
クラス A のサブクラスであるクラス C
クラス B のサブクラスであるクラス D
クラス D のメンバー変数をベクトル (クラス A) ではなくベクトル (クラス C) 型に再定義できますか。代わりに配列にしたほうがよいでしょうか。
いいえ、それは許可されていません。次の状況のため、機能しません。
クラス B の関数がクラス A (クラス C ではない) のベクトルに要素を追加する場合、これは基本クラスでは許可されますが、型が変更されているため、特定のサブクラス (C) では許可されません。
クラス D のメンバ変数をベクトル (クラス A) ではなくベクトル (クラス C) 型に再定義できますか。
いいえ、できません。データ メンバーが基本クラスで宣言されると、まったく同じ形式ですべての派生クラスに継承されます。
できることは、基本クラス メンバーを へのポインタに変換し、 のインスタンスまたは のインスタンスを指すようA
に初期化することです。A
C