#include<iostream>
class base
{
public:
virtual ~base(){std::cout << "base\n";}
};
class derived : public base
{
private:
~derived(){std::cout << "derived\n";} /* destructor is private */
};
int main()
{
base *pt= new derived;
delete pt;
}
Вышеупомянутая программа компилируется и работает нормально. Каким образом вызванный дескриптор производного класса является закрытым?