32 lines
413 B
C++
32 lines
413 B
C++
|
#include <iostream>
|
||
|
|
||
|
using namespace std;
|
||
|
|
||
|
class A1 {
|
||
|
public:
|
||
|
A1 () {
|
||
|
cout << "A1() called" << endl;
|
||
|
}
|
||
|
|
||
|
virtual ~A1 () { // won't be called if non-virtual
|
||
|
cout << "~A1() called" << endl;
|
||
|
}
|
||
|
};
|
||
|
|
||
|
class A2 : public A1 {
|
||
|
public:
|
||
|
A2 () {
|
||
|
cout << "A2() called" << endl;
|
||
|
}
|
||
|
|
||
|
~A2 () {
|
||
|
cout << "~A2() called" << endl;
|
||
|
}
|
||
|
};
|
||
|
|
||
|
int main (int argc, char *argv[])
|
||
|
{
|
||
|
A1 *ap = new A2();
|
||
|
delete ap;
|
||
|
}
|