1,静态成员函数可以声明为虚函数吗?
2,派生类构造函数对基类构造函数的调用顺序就是基类构造函数的执行顺序,这句话错在了哪里?真相是什么样的?
继承派生有两种,简单继承和混合继承
1|首先是简单继承的构造调用:
class A{
A(){@1}
}
class B pulic A{
B(){@2}
}
B* b=new B();
首先在调用的时候
会先调用a的构造函数,然后再调用b的构造函数,就是先执行@1,再执行@2部分
说明:派生类在创建的时候,是从基类开始一层一层向下构造的,直到最后调用被实例化的派生类构造函数调用为止。
2|混合继承构造函数调用:
class A{
A(int i){}
}
class B pulic A{
B():A(2),a1(1),a2(3){}
private:
A a1;
A a2;
}
B* b=new B();
这时B中包含有A的变量,在构造函数调用时:
1.调用A的构造函数,
2.调用A的构造函数,
3.调用A的构造函数,
4.调用B的构造函数。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。