有以下程序: #include<iostream> using namespace std; class R { public: R(int r1,int r2) { R1=rl;

admin2013-02-27  37

问题 有以下程序:    #include<iostream>    using namespace std;    class R    {    public:      R(int r1,int r2)      {        R1=rl;        R2=r2;      }      void print();      void print()const;    private:      int R1,R2;    };    void R::print()    {       cout<<R1<<","<<R2<<end1;    }    void R::print() const    {      cot<<R1<<","<<R2<<end1;     }    int main()    {       Ra(5,4);       const R b(20,52);       b.print();       return 0;    }    执行后的输出结果是

选项 A、5,4
B、20,52
C、0,0
D、4,5

答案2

解析 使用const关键字修饰的对象成为常对象,题中对象b被声明为类R的常对象。使用const关键字说明的成员函数称为常成员函数,类R中用const重载了函数print()。在使用常对象和常成员函数时应注意的是:const是函数类型的一个组成部分,因此在部分也要带const关键字:常成员函数不能更新对象的数据成员,也不能调用该类中没有用const修饰的成员函数;如果将一个对象说明为常对象,则通过该常对象只能调用它的常成员函数,不能调用其他的成员函数;const关键字可以参与区分重载函数。本题中,b为类R的常对象,通过b只能调用类R的常成员函数print()输出20,52。
转载请注明原文地址:https://kaotiyun.com/show/gvVp777K
0

最新回复(0)