CVar( int w, int h, char nm ) : wd(w), ht(h), name(nm) 在一个程序中看到这样的语句,请大家帮忙解释一下,这在程序里面是什么用法啊?
胡子哥哥
浏览 141回答 2
2回答
Cats萌萌
这是类的构造函数。冒号后面可以接父类的构造函数,然后再接自身的成员变量初始化列表。所以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。如果有父类,那么子类构造函数要继承父类构造函数,冒号后面要先写父类构造函数,再写成员初始化列表,当然也可以在构造函数体里赋值初始化,一样的。