开发者社区> 问答> 正文

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

已解决

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

展开
收起
51干警网 2016-02-15 23:51:42 2282 0
1 条回答
写回答
取消 提交回答
  • 阿里云论坛版主,QQ 1978638808
    采纳回答

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

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

    2019-07-17 18:28:54
    赞同 展开评论 打赏
问答分类:
C++
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
使用C++11开发PHP7扩展 立即下载
GPON Class C++ SFP O;T Transce 立即下载
GPON Class C++ SFP OLT Transce 立即下载