永发信息网

c++问题~~帮忙解决下~

答案:1  悬赏:70  手机版
解决时间 2021-07-29 07:51

#include<iostream.h>
class base
{
public:
base(){a=0;}
base(int i){a=i;}
void print(){cout<<"a="<<a<<endl;}
int geta(){return a;}
private:
int a;
};
class derived:public base
{
public:
derived(){b=0;}
derived(int i,int j): base(i),b(j){}
void print()
{
base::print();
cout<<"b="<<b<<endl;
}
private:
int b;
};
void func(base& bb)
{
cout<<bb.geta()*10<<endl;
}
int main(void)
{
derived obj2(9,5);
base obj1(5);
obj1=obj2;
obj1.print();
base *pbase=new base(8);
derived *pderived=new derived(1,2);
pbase=pderived;
pbase->print();
func(obj2);
return 0;
}

我想问下

derived(int i,int j): base(i),b(j){}

这句代码什么意思?b(j){}在这做什么用?

最佳答案

dervied类继承base类,base类有两个构造方法,一个是无参的base(),一个是有参数的base(int i)。


derived(int i, int j)的冒号后面是一个初始化参数列表,作用是在进入构造函数前完成对某些数据的初始化工作。


如果没有在这后面加上base(i)的话,就会默认调用无参的构造方法base(),加上了则调用有参的base(int i)。


而b(j)则表示成员变量b的初始值为j。

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
咸安区咸宁艺美广告(永安大道)地址在什么地方
里的好词好句好段好句要书中运用一些修辞的,
空间音乐播放器谁会做请教教我谢谢,有免费的
女字背后字谜
用BASIC语言编写的程序称为什么语言
关于玫瑰园免费玫瑰~
临武县郴州大家乐超市(官山路)这个地址怎么能
如何使诺基亚5800XM手机上网时候的图片不存到
梦见怪物蛇小孩注止我抓怪物蛇
刚换的主板 每次开机都提示发现新设备“IDE控
NSM要不要收费阿
谈论:穿越火线高手们 你们都是杂玩的 ?
飞轮海( 不会爱) 的乐谱.
illustrator英文版本中哪个是插入图片的选项
qq拼音等级换礼品活动问题 7天会员体验
推荐资讯
带峰的成语和词语注意 这是填空题 原题是这样
AMD 羿龙II X2 545开4核失败会不会损坏主机
谁开过90年到93年左右在河南省的电视播放过,
【问问】题目最高是几级的?
怎么冲黄钻.....
手机农场怎么种菜?
尼康L100现价多少?需要买意外保险吗?
农场买了狗没用吧
红楼梦……
固始县信阳固始县阳关学校在什么地方啊,我要
这个文件夹是干啥用的
侠盗到哪下????????
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?