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; } };
//如果派生类有成员对象的话顺序应该是 构造:基类-->成员对象-->派生类 析构: 派生类-->成员对象-->基类
年轻人要讲武德,好自为之.