我的问题是我是否需要在我的主类和QSharedData的继承中声明析构函数,以防止内存泄漏。 在这个例子中,我有一个Employee类,它通过EmployeeData处理它的数据。
所以我需要声明
~EmployeeData(){}
和
~Employee()
防止内存泄漏或由QSharedData本身处理,当Employee超出范围时,即使没有显式的析构函数,也会解除所有资源的释放?
这是一个正在实施的例子:
class EmployeeData : public QSharedData
{
public:
EmployeeData() {}
~EmployeeData(){}
// Some data here
EmployeeInfo *info=nullptr;
};
Employee::Employee()
{
data = new EmployeeData();
data->info = new EmployeeInfo();
}
Employee::~Employee()
{
if(data)
{
delete data->info;
}
delete data;
}
提前致谢