选择题 7.  有如下程序:
    #include<iostream>
    using namespace std;
    class Pair{
    int m,n;
    public:
    Pair(int j,int k):m(j),n(k){}
    int get(){return m;}
    int get()const{return m+n;}
    };
    int main(){
    Pair a(3,5);
    const Pair b(3,5);
    cout<<a.get()<<b.get();
    return 0;
    }
    运行时的输出结果是______。
【正确答案】 B
【答案解析】 生成对象时,系统要先自动调用构造函数,初始化数据成员。注意,由于常对象不能被更新,所以,常对象只能调用常成员函数,不能调用其他成员函数;而一般对象既可以调用常成员函数,也可以调用一般成员函数。
   const关键字可以用于参与对重载函数的区分。重载的原则是:常对象调用常成员函数,一般对象调用一般成员函数。当然,如果类中只有一个常成员函数时,一般对象也可以调用该常成员函数。所以,题中,一般对象a调用的是一般成员函数,输出m的值,即为3;而常对象b调用的是常成员函数,输出m+n的值,即为8。