类.h :
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 会将指向刚刚创建的 field_manager 对象的指针作为 Main_manager 类的一个属性,这样我就可以使用它的方法了。 p>
如果我尝试调用
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
的指针保留为类属性,一切都会好起来的。
最佳答案
I thought that this->field_manager=field_manager would keep the pointer
你不必做这些:
Field_manager* field_manager = new Field_manager;
this->field_manager = field_manager;
而不是在构造函数中,直接分配您的指针成员:
field_manager = new Field_manager;
关于c++ - 将在构造函数中创建的项目指针分配给类属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41132560/