1 #include<iostream>
2 using namespace std;
3
4 class Base
5 {
6 public:
7 Base()
8 {
9 cout << "base" << endl;
10 } //Base的构造函数
11 virtual ~Base() //Base的析构函数
12 {
13 cout << "~Base!" << endl;
14 }
15 };
16
17 class Derived : public Base
18 {
19 public:
20 Derived()
21 {
22 cout << "drived" << endl;
23 } //Derived的构造函数
24 ~Derived() //Derived的析构函数
25 {
26 cout << "~Derived!" << endl;
27 }
28 };
29 /*基类要用virtual的原因*/
30 int main()
31 {
32 Derived *pTest1 = new Derived(); //Derived类的指针
33 delete pTest1;
34
35 cout << endl;
36
37 Base *pTest2 = new Derived(); //Base类的指针
38 delete pTest2;
39
40 return 0;
41 }