我是否明确需要在QSharedData的继承类中声明析构函数?

时间:2018-01-15 11:21:31

标签: c++ qt destructor qshareddata

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

提前致谢

0 个答案:

没有答案