永发信息网

问一个c++的继承问题

答案:2  悬赏:70  手机版
解决时间 2021-05-12 23:30
#include <iostream.h>
class b1
{
public:
b1(int i){cout<<"constructing b1"<<i<<endl;}
};

class b2
{
public:
b2(int j){cout<<"constructing b2"<<j<<endl;}
};

class b3
{
public:
b3(){cout<<"constructing b3*"<<endl;}
};
class c:public b2,public b1,public b3
{
public:
c(int a,int b,int c,int d):b1(a),memberb2(d),memberb1(c),b2(b)
{}
private:
b1 memberb1;
b2 memberb2;
b3 memberb3;
};
void main()
{
c obj(1,2,3,4);
}
输出结果是:
construcing b22
construcing b11
construcing b3*
construcing b13
construcing b24
construcing b3*
在基类中有缺省形式的构造函数,派生类中的构造函数的声明中可以省略,所以输出construcing b3*,但是最后还输出了construcing b3*这个是构造函数的,像memberb2(d),memberb1(c)都有写的,所以它会去调用构造函数,但是b3 memberb3;没有写为什么也会调用????
最佳答案

类创建对象时,除了调用构造函数,还会建立类创建的对象的数据成员,最后一句,是类C创建对象obj时,建立私有数据成员b3 memberb3;时调用b3的默认构造函数,所以,有了最后一句:construcing b3*

全部回答
对象构造时会构造所有的成员变量
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
写关于桃子好的诗句,描写桃子的句子
纳米汗蒸馆多久蒸一次,纳米汗蒸房需要多少钱
八字品质工程标语,企业经营方针口号
QQ飞行岛什么时候可以注册
泰州在什么地方,各位好:有知道泰州可胜科技
爱护眼睛的句子,劝说好好保护眼睛的幽默句子
dnf转蓝拳好还是驱魔好
美术联考的资本情况
情感有禁区么?
对初中孩子的祝福语,对初中孩子的祝福语
八字古文人生格言,情感八字语录,伤感
范伟小品功夫台词,周星驰功夫里面那卖书的乞
形容多变的句子
动词和动词原形有哪些,汉语,动词有哪些?名
清廉正直的意思是什么,人所谓的正直是指什么
推荐资讯
QQ幻想世界的NPC“小晶晶”在何处??
地下城里为什么骗子这么多呢,而且都还非常无
现在买什么最便宜?
真的能找到吗
怕怀孕不让要她是理由吗?
诺基亚E58I电影是什麽格式的?
谁能给我一个仙剑奇侠传四的主题桌面最好是韩
东宝区富贵文具哪位知道具体地址啊
求文:外表很危险,心底却很善良的那一类人内
超级QQ可以有领到Q币的特权吗?
怎样忘记初恋呢?
武陟县天天快递(武陟分公司)在哪里啊,我有事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?