Class.h:クラスatributeにコンストラクタで作成されたアイテムのポインタを割り当て
class Main_manager
{
public:
Main_manager();
~Main_manager();
Field_manager* field_manag;
}
}
クラスのコンストラクタ:
Main_manager::Main_manager() {
Field_manager* field_manager = new Field_manager;
this->field_manager = field_manager;
}
私はthis-> field_manager = field_managerはへのポインタを維持するだろうと思いましたMain_managerクラスの属性としてちょうど作成されたfield_managerオブジェクトを使用していますので、そのメソッドを使用することができます。
私はそれが動作しない
Main_manager::function() {
this->field.manager->function_call();
//trying to call field.manager's method as i should have its pointer
}
を呼び出そう。メモリを読み取ることができないためにアプリケーションが中断します。
this>field.manager = field_manager
はおそらく動作しません。コンストラクタが終了すると、Main_manager
はfield_manager
のメモリを読み取ることができません。 私はfield_manager
のポインタをクラス属性として保持すれば、すべてうまくいくと思いました。
「Field_manager * field_manager = new Field_manager;」は次のようになります。例外または 'nullptr'を生成しますか? –