Нужно ли явно объявлять деструктор в унаследованном классе QSharedData?

Мой вопрос касается того, нужно ли мне явно объявлять деструктор в моем основном классе и в наследуемом классе QSharedData, чтобы предотвратить утечки памяти.
В этом примере у меня есть класс Employee, который обрабатывает свои данные через EmployeeData.

Так что мне нужно объявить

~EmployeeData(){}

а также

~Employee()

чтобы предотвратить утечки памяти, или это обрабатывается самим QSharedData, который освобождает все свои ресурсы даже без явного деструктора, когда Сотрудник выходит из области видимости?

Вот пример реализации:

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

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]