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

xiaoxiao2021-02-28  101

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     }
转载请注明原文地址: https://www.6miu.com/read-68807.html

最新回复(0)