0

我的问题是我是否明确需要在我的主类和 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;
}

提前致谢

4

0 回答 0