1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- //4.6.4 继承中构造和析构顺序
- //子类继承父类后,当创建子类对象,也会调用父类的构造函数
- //问题:父类和子类的构造和析构顺序是谁先谁后?
- #include <iostream>
- class Base
- {
- public:
- Base()
- {
- std::cout << "Base的构造函数" << std::endl;
- }
- ~Base()
- {
- std::cout << "Base的析构函数" << std::endl;
- }
- };
- class Son :public Base
- {
- public:
- Son()
- {
- std::cout << "Son的构造函数" << std::endl;
- }
- ~Son()
- {
- std::cout << "Son的析构函数" << std::endl;
- }
- };
- void test01()
- {
- //Base b;
- //继承中的构造和析构顺序如下:
- //先构造父亲,再构造子类,析构的顺序和构造的顺序相反
- Son s;
- }
- int main()
- {
- test01();
- system("psuse");
- return 0;
- }
- //继承中 先调用父类构造函数,再调用子类构造函数,析构顺序与构造相反
|