Witam, ostatnio natknął się na taki problem, że chciałem stworzyć czysto wirtualny destruktor, więc napisałem taki kod:
#include <iostream>
using namespace std;
class Ca
{
public:
virtual ~Ca() = 0;
};
class Cb :public Ca
{
public:
virtual ~Cb()
{
cout << "(obiekt) UMIERAM!!!" << endl;
}
};
int main()
{
Ca *wsk = new Cb;
delete wsk;
return 0;
}
I nagle kompilator pokazał błąd, więc postanowiłem napisać tego destruktora normalnie wirtualnego, czyli z ciałem i wyszło, że tym razem kod działał.
I teraz mam takie pytanie, czy to oznacza, że wirtualnych destruktorów nie można pisać jako czyste metody wirtualne?