问题
单项选择题
以下程序段有( )处错误。 #include <iostream> using namespaces std; class Sample { private:int n; public:Sample (int i}{ n=i;}void setvalue(int i){ n=i;}void display(){ cout<<"n="<<n<<end1;} }; int main ( ) {const Sample a(lO);a. setvalue (5)’;a.display();return 0; }
A.1
B.2
C.3
D.4
答案
参考答案:B
解析: 本题考查常对象的掌握。本程序中有两个错误: ①第1处错误是“a.setvalue(5);”语句,由于对象a为常对象,所以对象a的私有数据成员n不能被更新。 ②第2处错误是语句“a.display();”。由于对象a为常对象,所以通过对象a只能调用它的成员函数,而成员函数display()不是常成员函数。