コピーコンストラクタの使い方について質問があります。他にも多くの質問やチュートリアルがありますが、私の問題を完全に解決することはできませんでした。コンストラクタをポインタでコピーする
私はコピーコンストラクタを実装クラスA
あります
A myA;
、B
のメソッドが呼び出されます:別のクラスB
で今
A::A(const A& a) { ....... }
を、私は民間の属性を持っていますA
オブジェクトへのポインタで、anAPointer
と呼ぶことができます。私は今anAPointer
によって指された要素をB::myA
にコピーしたいと思います。ポインタの後ろの要素が後で変更された場合、これらの変更がmyA
属性に影響しないようにします。
私はthis->myA = A(*anAPointer);
をまだ使用しました。これは私が望む効果がありますか?
B
のデストラクタでdelete myA
に電話する必要がありますか?
'this-> myA = * anAPointer;' – Jonas
* Bのデストラクタでdelete myAを呼び出さなければなりませんか? - コンテキストが何であるかは誰も知りませんあなたのオブジェクトがどのように使用されているかを示します。あなたが[mcve]を投稿しない限り、誰もあなたに明確な答えを与えることはできません。 – PaulMcKenzie
@PaulMcKenzie 'myA'は、OPの非ポインタ属性として明示されていますので、回答することができます – wasthishelpful