问题详情

有以下程序: #include<iostream> usingnamespacestd; classR {public: R(intr1,intr2) {R1=r1; R2=r2;} voidprint(); voidprint()const; private: intR1,R2;}; voidR::print() {cout<<R1<<","<<R2<<endl;} voidR::print()const {cout<<R1<<","<<R2<<endl;} intmain() {Ra(5,4); constRb(20,52); print(); return0;} 执行后的输出结果是( )。


A、5,4

B、20,52

C、0,0

D、4,5

时间:2022-01-09 15:50 关键词:

答案解析

B
B。【解析】使用const关键字修饰的对象称为常对象,题中对象b被声明为类R的常对象。使用const关键字说明的成员函数称为常成员函数,类R中用const重载了函数print。在使用常对象和常成员函数时应注意的是:const是函数类型的一个组成部分,因此在常成员函数部分也要带const关键字;常成员函数不能更新对象的数据成员,也不能调用该类中没有用const修饰的成员函数;如果将一个对象说明为常对象,则通过该常对象只能调用它的常成员函数,不能调用其他的成员函数;const关键字可以参与区分重载函数。