私は小さなシステムの設計に取り組んでおり、派生クラスのためにメモリがどのように割り当てられているかについてのニュアンスについては不思議です。派生C++クラスのメモリ割り当て
私は2つのクラス
class foo {
public: int a;
Foo(): a(0) {};
};
class bar : public foo {
public: int b;
Bar() : Foo() , b(0) {}
};
を持っているし、その後
Bar* purple = new Bar();
は、私は両方のコンストラクタは(fooとbarのため)と呼ばれることを知っているが、どのように別の方法ではこのような何かを行う場合メモリを割り当てる。 'a'と 'b'の両方のメモリはBarクラスの一部であるか、Fooコンストラクタが呼び出されたときに 'a'に割り当てられたメモリで、 'b' Barコンストラクタが呼び出されたときに割り当てられます。
ご協力いただきありがとうございます。
すべてのメモリが一度に割り当てられます。 – Chad
コンストラクタの本体にaとbを代入するのではなく、イニシャライザ構文を使用する必要があります。 –
ケイト・グレゴリー:頭がおかげでありがとう、今すぐ修正する @Chad助けてくれてありがとう – Adam