问题
单项选择题
有如下程序:
#include<iostream>
using namespace std;
class sample
private:
int x,y;
public:
sample(int i,int j)
x=i;
y=j;
void disp()
cout<<"disp1"<<end1;
void disp()const
cout<<"disp2"<<end1;
;
int main()
const sample a(1,2);
a.disp();
return 0;
该程序运行后的输出结果是
A.disp1
B.disp2
C.disp1 disp2
D.程序编译时出错
答案
参考答案:B
解析: 本题考核常对象、常数据和常函数。C++中,在定义常对象时必须进行初始化,而且不能被更新。如果将一个对象说明为常对象,则通过该对象只能调用它的常成员函数。题中,对象a被定义成类sample的常对象,所以通过对象a只能调用其常成员函数disp()。所以程序最后输出disp2。