VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 532|回复: 9

[求助] 构造函数的高级应用

[复制链接]
2191265529 发表于 2017-10-26 22:56:40 | 显示全部楼层 |阅读模式
为什么会输出三个BClass()呢,构造的顺序是怎么样的?

#include<iostream>
#include<stdlib.h>

using namespace std;
class BClass{
public:
        BClass(int a){ cout << "BClass()" << endl; n = a; }
        virtual void show(){ cout << "BClass::show()" << endl; cout << n << endl; }
        ~BClass(){ cout << "~Base()" << endl; }
protected:
        int n;
};

class SClass :public BClass{
        BClass base;
        int m;
public:
        SClass(int a,int b, int c) :BClass(a), base(b){
                cout << "SClass()" << endl;
                n = b; m = c;
        }
        void show(){
                cout << "Sclass::Show()" << endl;
                cout << n << "," << m << endl;
        }
        ~SClass(){ cout << "~SClass()" << endl; }
};

int main(){
        SClass s(1, 2, 3);
        BClass *p = &s;
        p->show();
        system("pause");
        return 0;
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入驿站

x

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

SummerGull 发表于 2017-10-27 21:17:53 | 显示全部楼层
class BClass{
public:
        BClass(int a){ cout << "BClass()" << endl; n = a; }
        virtual void show(){ cout << "BClass::show()" << endl; cout << n << endl; }
        ~BClass(){ cout << "~Base()" << endl; }
protected:
        int n;
};
//第一个初始化

class SClass :public BClass{
        BClass base;//第二个初始化
        int m;
public:
        SClass(int a,int b, int c) :BClass(a), base(b){
                cout << "SClass()" << endl;
                n = b; m = c;
        }
        void show(){
                cout << "Sclass::Show()" << endl;
                cout << n << "," << m << endl;
        }
        ~SClass(){ cout << "~SClass()" << endl; }
};//第三个初始化。

评分

参与人数 1驿站币 +2 热心值 +2 收起 理由
2191265529 + 2 + 2 很给力!

查看全部评分

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 1 反对 0

使用道具 举报

freehawkzk 发表于 2017-10-28 19:48:20 | 显示全部楼层
我晕,一开始被楼主的标题误导了,只输出了两个BClass,第三个是SClass。害我傻傻的分析了半天。发现BClass怎么着都只会出现两次啊,哈哈

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

SummerGull 发表于 2017-10-29 13:20:30 | 显示全部楼层
freehawkzk 发表于 2017-10-28 19:48
我晕,一开始被楼主的标题误导了,只输出了两个BClass,第三个是SClass。害我傻傻的分析了半天。发现BClass ...

对的。我早就已经发现他的标题有问题了

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

besteast 发表于 2017-11-3 13:59:33 | 显示全部楼层
的点点滴滴多多多多多多多多多多

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

 楼主| 2191265529 发表于 2017-11-3 17:40:31 | 显示全部楼层
SummerGull 发表于 2017-10-29 13:20
对的。我早就已经发现他的标题有问题了

哥,我自己都没发现问题

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

SummerGull 发表于 2017-11-3 22:30:55 | 显示全部楼层
2191265529 发表于 2017-11-3 17:40
哥,我自己都没发现问题

C++ primer plus 看了哇?这本书 挺好的 不过感觉 讲的还有遗漏 在看本范磊的 就差不多了

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

 楼主| 2191265529 发表于 2017-11-6 22:00:28 | 显示全部楼层
SummerGull 发表于 2017-11-3 22:30
C++ primer plus 看了哇?这本书 挺好的 不过感觉 讲的还有遗漏 在看本范磊的 就差不多了

哈哈,看了好多书了,经验不足,感谢大佬带飞啊

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

754045616 发表于 2017-11-14 16:02:53 | 显示全部楼层
你好,有没有读写记事本的MFC实例,给我一份 754045616@qq.com

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

besteast 发表于 6 天前 | 显示全部楼层
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站

本版积分规则

展开

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )

返回顶部
x

VC驿站微信公众号cctry2009

GMT+8, 2017-11-24 09:57

Powered by Discuz!

© 2009-2017 cctry.com

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