Как правильно тут объявить деструктор?
#include <iostream>
using namespace std;
class Test{
private:
int a, b, c;
public:
Test(){
a=12;
b=10;
c=1999;
};
Test(int a, int b, int c){
a=a;
b=b;
c=c;
}
Test(const Test &test):
a(test.a), b(test.b), c(test.c){
cout<<"Copy constructor worked here!\n";
}
};
int main() {
Test first;
Test second(27,12,2029);
Test copysecond(second);
return 0;
}
Оглашаю вот такой класс и я не очень понимаю, как написать деструктор правильно и его объявить. Меня смущает, что у меня тут три конструктора или на это всё равно и достаточно просто прописать: ~Test(){...};?
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Да что пошла мода на оглашенных? Всегда были объявления...
В вашем конкретном случае — вообще никак. Сгенерированного компилятором достаточно.
Или можно явно сказать об этом:
~Test() = default;
Но, конечно, если очень хочется самому, то
~Test(){}
Ну, если вы хотите, чтобы конструктор что-то делал — дописывайте в фигурных скобках код. Но это все будут, так сказать, побочные действия. Никакой "обязательной программы" в вашем случае для деструктора нет.