// Uppgift: Polymorf klass - polymorf destruktor! // Nyckelord: Arv, kostruktor, destruktor, virtual #include using namespace std; class Base { public: Base() { cout << "Base constructor" << endl; } // try to remove keyword "virtual"... virtual ~Base() { cout << "Base destructor" << endl; } }; class Sub : public Base { public: Sub() : Base(), p(new int) { cout << "Sub constructor" << endl; } ~Sub() { delete p; cout << "Sub destructor" << endl; } private: int* p; }; int main() { Base* b = new Sub; // Sublassens destruktor måste anropas först och därför behövs // polymorfisk destruktor - virtual i basklassen! delete b; return 0; }