gpt4 book ai didi

c++ - 将在构造函数中创建的项目指针分配给类属性

转载 作者:行者123 更新时间:2023-11-28 05:22:43 24 4
gpt4 key购买 nike

类.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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com