问题
填空题
下列类的构造函数不能通过编译,正确的构造函数应该是 【15】 。# inelude<iostream. h>class Sample{public: int ns const int con, Sample(int m) { con= m+1; n= m;} void disp() {cout<<’"normal: n="<<n<<end1; } void disp()const {cout<<"static: n="<<n<< end1; }};void main(){ const Sample a(12), Sample b(13), a. disp( ), b. disp() cout<<a, n<< "<<b. con<<end1; }
答案
参考答案:Sample(int m):con(m+1){n=m;}
解析: 本题考察常数据成员的初始化方法。常数据成员的定义必须出现在类体中,而且初始化只能通过构造函数的成员初始化列表进行,而且不能被更新。