有如下程序: #include<iostream> using namespace std; class R{ public: R(int r1,int r2):r1(r1),r2(r2){} void print(); void print()const

admin2017-07-28  27

问题 有如下程序:
#include<iostream>
using namespace std;
class R{
public:
R(int r1,int r2):r1(r1),r2(r2){}
void print();
void print()const;
private:
int r1,r2;
};
void R::print()
{
cout<<r1<<":"<<r2<<endl;
}
void R::print()const
{
cout<<r1<<"."<<r2<<endl;
}
int main(){
R a(5,4);
a.print();
const R b(20,52);
b.print();
return0;
}
运行后的输出结果是(    )。

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

答案A

解析 C++中,const对象只能使用const成员函数,非const对象可以使用任一成员;题意中两个print()函数属于基于const的重载函数,所以对于非const对象a,调用非const的成员函数print(),输出:5:4;对于const对象b,输出:20,52。故本题答案为A选项。
转载请注明原文地址:https://kaotiyun.com/show/dFAp777K
0

最新回复(0)