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


 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值