问题 单项选择题

以下程序段共有错误( )处 #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(l0); 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()不是常成员函数。

单项选择题
单项选择题