C++派生类和基类执行顺序

//动物基类 
class Animal 
{
    public:
        int _age;
        string _name;
        
        Animal(){
            cout<<"1.Animal 构造函数被调用一次!"<<endl;
        }
        
        void _eating(string foodName)
        {
            cout<<"i'm "<<_name<<" eating:"<<foodName<<endl;
        }
        ~Animal()
        {
            cout<<"1.Animal 析构函数被调用一次!"<<endl;
        }
};
//子类狗 
class Dog:public Animal{
    
    public:
      Dog(){
        _name="小狗";
        _age=3;
        
        cout<<"2.Dog 构造函数被调用一次!"<<endl;
    }
    ~Dog(){
        cout<<"2.Dog 析构函数被调用一次!"<<endl;
    }
};

//如果派生类有成员对象的话顺序应该是  构造:基类-->成员对象-->派生类  析构: 派生类-->成员对象-->基类 

 

posted @ 2021-06-06 17:09  wrjhzou  阅读(271)  评论(1编辑  收藏  举报