どうすればよいですか?私は基本オブジェクトのすべての変数を複合オブジェクトにコピーする複合クラスのメソッドを考えましたが、それは少し不便に思えます。以下のような基本クラスのオブジェクトを複合クラスのオブジェクトに拡張する
class Basic
{
//basic stuff
}
class Complex : public Basic
{
//more stuff
}
Basic * basicObject = new Basic();
//now "extending" basicObject and "cast" it to Complex type
//which means copy everything in basicObject to an complexObject
か何か:
Complex * complexObject = new Complex();
complexObject.getEverythingFrom(basicObject);
私は基本クラスを変更するたびに、私もこの「コピー」方法を変更する必要があるため、あまりにも不便であるように思われます。
私はあなたが求めているものは、多くの意味があるとは思わない。あなたの目標を述べるほうがいいかもしれません。あなたが最初のステップに決めたものではありません。 –
あなたはおそらく継承とそれがどのように機能するかについてもう少し詳しく読むべきです。 –
これはできません。 'Basic'オブジェクトを作成すると' Complex'を派生させることはできません。さらに、派生クラスはすべて、基底クラス変数を独自のものとして扱います。すべての基本変数に直接アクセスできる場合は、なぜこのコピーを実行する必要がありますか? –