问题 单项选择题

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

单项选择题 B1型题
单项选择题