问题
单项选择题
有如下程序:
#include<iostream>
using namespace std;
class MyClass
public:
MyClass(int x):val(x)
void Print() const cout<<"const:val="<<val<<’\t’;
void Print() cout<<"val="<<val<<’t’;
private:
int val;
;
int main()
const MyClass obj1(10);
MyClass obi2(20);
obj1.Print();
obj2.Print();
return 0;
程序的输出结果是( )。
A.val=10 const:val=20
B.const:val=10 const:val=20
C.const:val=10 val=20
D.val=10 val=20
答案
参考答案:C
解析: 此题考查的是常成员函数的重载。常成员函数是使用const关键字说明的函数。COHM关键字可用于区分重载函数。此时,常对象调用常成员函数,一般对象调用一般成员函数;题目中的Print()就是通过const重载的两个成员函数,主函数中声明的。obj1是常对象,obj2是一般对象。故输出结果是const::val=10 val=20。