有如下程序: #include<iostream> using namespace std; class MyClass{ public: MyClass(int x):val(x) {} void

admin2010-12-16  35

问题 有如下程序:    #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。
转载请注明原文地址:https://kaotiyun.com/show/2IVp777K
0

随机试题
最新回复(0)