aa

 1 # include <iostream>
 2 using namespace std;
 3 
 4 class ClxBase
 5 {
 6 public:
 7     ClxBase()
 8     {
 9         cout << "Constructor of class ClxBase" << endl;
10     }
11     ~ClxBase()
12     {
13         cout << "Destructor of class ClxBase" << endl;
14     }
15     void DoAction()
16     {
17         cout << "Do Action in class ClxBase" << endl;
18     }
19 };
20 
21 class ClxDerived : public ClxBase
22 {
23 public:
24     ClxDerived()
25     {
26         cout << "Constructor of class ClxDerived" << endl;
27     }
28     ~ClxDerived()
29     {
30         cout << "Destructor of class ClxDerived" << endl;
31     }
32     void DoAction()
33     {
34         cout << "Do Action in class ClxDerived" << endl;
35     }
36 };
37 
38 int main()
39 {
40     ClxDerived *p = new ClxDerived;
41     p->DoAction();
42     delete p;
43     return 0;
44 }
View Code
1 blank@linux-bai:~> g++ main.cpp -o a && ./a
2 Constructor of class ClxBase
3 Constructor of class ClxDerived
4 Do Action in class ClxDerived
5 Destructor of class ClxDerived
6 Destructor of class ClxBase
View Code

 

 1 # include <iostream>
 2 using namespace std;
 3 
 4 class ClxBase
 5 {
 6 public:
 7     ClxBase()
 8     {
 9         cout << "Constructor of class ClxBase" << endl;
10     }
11     ~ClxBase()
12     {
13         cout << "Destructor of class ClxBase" << endl;
14     }
15     void DoAction()
16     {
17         cout << "Do Action in class ClxBase" << endl;
18     }
19 };
20 
21 class ClxDerived : public ClxBase
22 {
23 public:
24     ClxDerived()
25     {
26         cout << "Constructor of class ClxDerived" << endl;
27     }
28     ~ClxDerived()
29     {
30         cout << "Destructor of class ClxDerived" << endl;
31     }
32     void DoAction()
33     {
34         cout << "Do Action in class ClxDerived" << endl;
35     }
36 };
37 
38 int main()
39 {
40     ClxBase*p = new ClxDerived;
41     p->DoAction();
42     delete p;
43     return 0;
44 }
View Code
1 blank@linux-bai:~> g++ main.cpp -o a && ./a
2 Constructor of class ClxBase
3 Constructor of class ClxDerived
4 Do Action in class ClxBase
5 Destructor of class ClxBase
View Code

 

 1 # include <iostream>
 2 using namespace std;
 3 
 4 class ClxBase
 5 {
 6 public:
 7     ClxBase()
 8     {
 9         cout << "Constructor of class ClxBase" << endl;
10     }
11     virtual ~ClxBase()
12     {
13         cout << "Destructor of class ClxBase" << endl;
14     }
15     virtual void DoAction()
16     {
17         cout << "Do Action in class ClxBase" << endl;
18     }
19 };
20 
21 class ClxDerived : public ClxBase
22 {
23 public:
24     ClxDerived()
25     {
26         cout << "Constructor of class ClxDerived" << endl;
27     }
28     ~ClxDerived()
29     {
30         cout << "Destructor of class ClxDerived" << endl;
31     }
32     void DoAction()
33     {
34         cout << "Do Action in class ClxDerived" << endl;
35     }
36 };
37 
38 int main()
39 {
40     ClxBase*p = new ClxDerived;
41     p->DoAction();
42     delete p;
43     return 0;
44 }
View Code
1 Constructor of class ClxBase
2 Constructor of class ClxDerived
3 Do Action in class ClxDerived
4 Destructor of class ClxDerived
5 Destructor of class ClxBase
View Code

 

posted on 2014-10-13 17:05  Blank Bai  阅读(116)  评论(0编辑  收藏  举报

导航