问题 单项选择题

有如下程序:
#include<iostream>
using namespaee std;
class Pair
int m;
int n;
public:
Pair(int i,int j):m(i),n(j)
boot operator>(pair P)const;//需在类体外给出定义

int main( )
Pair pl(3,4),p2(4,3),p3(4,5);
cout<<(pl>p2)<<(p2>p1)<<(p2>p3)<<(p3>p2);
retum 0;

运算符函数operator>的功能是比较两个Pair对象的大小,当左边对象大时,返回true,否则返回false。比较规则是首先比较两对象的m成员,m大者为大;当m相等时比较n,n大者为大。程序输出0101,下列对运算符重载函数的正确定义是

A.bool Pair::operator>(Pair P)eonst

B.bool Pair::operator>(Pair P)
if(m!=P.m)return m>p.In;return n>p.n; if(m!=P.m)return m>p.m;return n>p.n;

C.bool Pair::operator>(Pair P)eonst

D.bool Pair::operator>(Pair P)
if(m>p.m)return true;return n>p.n; if(Ul>p.m)return true;return n>p.n;

答案

参考答案:C

解析: 重载成员运算符“<”,在类中声明原型为const成员函数,在类外定义时也必须加上const修饰符。

单项选择题
判断题