鱼C论坛

 找回密码
 立即注册
查看: 1304|回复: 5

为什么输出是ABC啊?求助!

[复制链接]
发表于 2015-7-12 23:46:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<iostream>
using namespace std;

class A
{
public:
    A() 
    {   
        cout << "A";
    }   
};

class B
{
public:
    B() 
    {   
        cout << "B";
    }   
};

class C:public A
{
    B b;

public:
    C() 
    {   
        cout << "C";
    };  
};

int main()
{
    C obj;

    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-7-13 00:33:53 | 显示全部楼层
唉……看了第一句我就傻了……根本不知道是什么头文件!   路过马克下
说不定以后我也碰到了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-7-13 08:56:05 | 显示全部楼层
C类继承 A类  就会先调用A类的构造函数  A类的构造函数打印'A'
C类 里面实例化一个B类 那么也执行 B类的构造函数
最后再执行 C类自己的构造函数   

所以由上可得   打印出 "ABC"     
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-7-13 12:05:44 | 显示全部楼层
C继承与 A  先构造一个A
私有成员 b 是B的对象 构造一个B
本身c再构造一个C
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-13 18:59:24 | 显示全部楼层
小人 发表于 2015-7-13 08:56
C类继承 A类  就会先调用A类的构造函数  A类的构造函数打印'A'
C类 里面实例化一个B类 那么也执行 B类的构 ...

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-13 19:00:21 | 显示全部楼层
nin98 发表于 2015-7-13 12:05
C继承与 A  先构造一个A
私有成员 b 是B的对象 构造一个B
本身c再构造一个C

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 03:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表