下列类的构造函数不能通过编译,正确的构造函数应该是【 】。 # inelude<iostream. h> class Sample { public: int ns const int con, Sample(int m) { con=

admin2013-02-27  58

问题 下列类的构造函数不能通过编译,正确的构造函数应该是【 】。
# 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;}

解析 本题考察常数据成员的初始化方法。常数据成员的定义必须出现在类体中,而且初始化只能通过构造函数的成员初始化列表进行,而且不能被更新。
转载请注明原文地址:https://kaotiyun.com/show/gOVp777K
0

最新回复(0)