问题 单项选择题

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

填空题
选择题