Virtual destructor example added.
This commit is contained in:
parent
25eb3c82dc
commit
046d0da873
|
@ -0,0 +1,31 @@
|
|||
#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;
|
||||
}
|
Loading…
Reference in New Issue