1 #include 2 using namespace std; 3 4 class Base 5 { 6 public: 7 Base() 8 { 9 cout << "base" << endl; 10 } //Base的構造函數 11 virtual ~Base() //Base的析構函數 ... ...
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 }