类C的构造函数通过赋值语句对该类的两个数据成员进行初始化。但由于数据成员c是const类型的,因此对其作出的赋值操作也是非法的。只要为构造函数添加一个初始化列表,就可以解决这个问题。
更改后的代码如下:
构造函数的初始化段是由一个冒号:开始,紧跟在冒号之后的事需要进行初始化的数据成员,然后由一对小括号括起来的初始值。
这是初始化const类型数据的唯一方法。初始化列表仅在构造函数中有效,不能用于其他函数,构造函数的初始化列表可以初始化如何数据成员,但const类型数据成员不能用其他方法初始化。