有如下程序: #include<iostream> using namespace std; class AA{ int n; public: AA(int k):n (k){} int get(

admin2013-02-27  26

问题 有如下程序:    #include<iostream>    using namespace std;    class AA{       int n;    public:       AA(int k):n (k){}       int get(){return n;)       int get()const{return n+1;}     };    int main()    {       AA a(5);       const AA b(6);       cout<<a.get()<<b.get();       return  0;    }    执行后的输出结果是

选项 A、55
B、57
C、75
D、77

答案B

解析 本题考核常成员函数和函数的重载。所谓函数重载,是指同一个函数名可以对应着多个函数的实现,类AA中定义了两个 get()函数,一个为普通成员函数,另一个为常成员函数。一般对象a既可以调用普通成员函数get,也可以调用常成员函数get,但是由于常成员函数不能更新对象的数据成员,所以题中通过对象a调用的函数为普通成员函数get(),返回值为5。常对象b只能调用常成员函数,所以题中通过对象b调用的函数为常成员函数get(),返回值为7。
转载请注明原文地址:https://kaotiyun.com/show/5SVp777K
0

最新回复(0)