Как правильно тут объявить деструктор?

#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(){}

Ну, если вы хотите, чтобы конструктор что-то делал — дописывайте в фигурных скобках код. Но это все будут, так сказать, побочные действия. Никакой "обязательной программы" в вашем случае для деструктора нет.

→ Ссылка