C++面向对象的三大特征——多态(动态多态)

来源:互联网 发布:学计算机编程需要多久 编辑:程序博客网 时间:2024/06/03 19:51

 1     #include <iostream>
 2     using namespace std;
 3 
 4     class Base
 5     {
 6        public:
 7            virtual void Print() = 0;
 8            virtual ~Base(){}
 9     };
10 
11     class child_1 : public Base
12     {
13        public:
14         void Print()
15         {
16             cout << "child_1 Print function" << endl;
17         }
18         ~child_1()
19         {
20             cout << "child_1 destructor function" << endl;
21         }
22     };
23 
24     class child_2: public Base
25     {
26         public:
27             void Print()
28             {
29                 cout << "child_2 Print function" << endl;
30             }
31             ~child_2()
32             {
33                 cout << "child_2 destructor function" << endl;
34             }
35     };
36 
37     int main()
38     {
39         Base *p = new child_1; //父类指针指向子类对象
40         p->Print();
41         delete p;  //记住释放,否则内存泄露
42         p = new child_2;
43         p->Print();
44         delete p;
45         p = NULL;
46         return 0;
47     }
阅读全文
0 0
原创粉丝点击