我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:多盈娱乐注册 > 多重继承 >

C++多继承方式构造函数的执行顺序

归档日期:06-07       文本归类:多重继承      文章编辑:爱尚语录

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部明一个子类的对象时,首先调用父类的构造函数,如果一个子类有多个父类时,则按照声明的顺序一次执行父类的构造函数,如class Derived : public Base1,public Base2 你先声明Base1,后Base2,所以先调用Base1后Base2的构造函数,而与 Base2(z),Base1(y)的顺序无关。

  展开全部在C++多继承中,构造函数的执行顺序,可以这样考虑:为了执行Derived的构造函数,必须先知道它所继承的类,因为直接执行Derived,那么Derived将不知道base1和base2是什么。

  所以总起来说构造函数的执行顺序是按它在Derived中声明明顺序先后来执行的。

  相反,虚构函数则是相反,要想析构Base1则必须先析构Derived的析构函数,这样对于base1才知道声明了什么。

  第一,编译系统是根据相同的参数名(而不是根据参数出现的顺序)来确定他们的传递顺序。

  第二,多重继承时,调用基类函数是按照申明派生类时基类出现的顺序。也就是和这句对应:class Derived : public Base1,public Base2

本文链接:http://cakesbyrita.net/duozhongjicheng/424.html