有如下程序:}}}}include<iostream>using namespace std;class Pair{int m;int n;publ
有如下程序:
}}}}include<iostream>
using namespace std;
class Pair{
int m;
int n;
public:
Pair(int i,int J):m(i),n(J){}
bool 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);
return 0;
{
運算符函數(shù)operator>功能是比較兩個Pair對象的大小,當(dāng)左邊對象大時,返回true,否則返回false。比較規(guī)則是首先比較兩對象的m成員,m大者為大;當(dāng)m相等時比較n.n大者為大。程序輸出0101,下列對運算符重載函數(shù)的正確定義是
A.bool Pair::operator>(Pair P)const {if(m!=P.m)return m>P.m;return n>P.n;)
B.bool Pair::operator>(Pair P) {if(m!=P.m)return m>P.m;return n>P.n;)
C.bool Pair::operator>(Pair P)const {if(m>P.m)return true;return 11>P.n;)
D.bool Pair::operator>(Pair P) {if(m>P.m)return true;return 11>P.n;}
正確答案:A解析:題目要求先比較m的大小。其次比較n的大小,首先看函數(shù)定義bool operator>(Pairp)corlst,從中可以看出B)和D)選項和函數(shù)定義不一致,缺少const,故排除;選項c只有一層比較不符合題意,故排除C)選項。因此,本題答案為A)。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。