2 weixin 33313360 weixin_33313360 于 2016.02.04 09:03 提问

关于c++中一些问题,继承,
c++

1,静态成员函数可以声明为虚函数吗?
2,派生类构造函数对基类构造函数的调用顺序就是基类构造函数的执行顺序,这句话错在了哪里?真相是什么样的?

2个回答

91program
91program   Ds   Rxr 2016.02.04 09:29
已采纳

内联函数,构造函数,静态函数都不能是虚函数

u011228598
u011228598   2016.02.04 11:42

继承派生有两种,简单继承和混合继承

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的构造函数。

weixin_33313360
weixin_33313360 非常感谢
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!