为了账号安全,请及时绑定邮箱和手机立即绑定

感觉也不是派生啊,请问这个里面的冒号“:”怎么解释啊?

感觉也不是派生啊,请问这个里面的冒号“:”怎么解释啊?

胡子哥哥 2022-07-21 15:11:23
CVar( int w, int h, char nm ) : wd(w), ht(h), name(nm) 在一个程序中看到这样的语句,请大家帮忙解释一下,这在程序里面是什么用法啊?
查看完整描述

2 回答

?
Cats萌萌

TA贡献1805条经验 获得超9个赞

这是类的构造函数。冒号后面可以接父类的构造函数,然后再接自身的成员变量初始化列表。所以CVar( int w, int h, char nm ) : wd(w), ht(h), name(nm) 相当于
CVar( int w, int h, char nm )
{
wd=w;
ht=h;
name=nm;
}

在C++里,给变量赋值可以用赋值符“=”,也可以在变量后面加小括号,括号放要赋的值。即wd(w)等价于wd=w。

如果有父类,那么子类构造函数要继承父类构造函数,冒号后面要先写父类构造函数,再写成员初始化列表,当然也可以在构造函数体里赋值初始化,一样的。

查看完整回答
反对 回复 2022-07-24
?
www说

TA贡献1775条经验 获得超8个赞

这是cvar类的构造函数,:后面的是成员变量初始化

查看完整回答
反对 回复 2022-07-24
  • 2 回答
  • 0 关注
  • 139 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信