[单选题]

( 33 )有如下程序:

#include<iostream>

using namespace 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 Al ( 3,4 ) , p2 ( 4,3 ) ; p3 ( 4,5 ) ;

C.out<< ( pl>p2 ) << ( P2>P1 ) << ( p2>p3 ) << ( p3>p2 ) ;

return 0;

}

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

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 n>p.n;}

D. ) bool Pair:;operator> ( Pair p )

{if ( m>p.m ) return true; return n>p.n;}

参考答案与解析:

相关试题

( 32 )有如下程序;#include<iostream>using name

[单选题]( 32 )有如下程序;#include<iostream>using namespace std;class Base{public:void output(){cout<<1;}virtual void Print(){cout<<'B';}};class Derived:public Base{public:void output(){cout<<2;}void Print(){cout<<'D';}};int main(

  • 查看答案
  • ( 30 )有如下程序:#include<iostream>using name

    [单选题]( 30 )有如下程序:#include<iostream>using namespace std;class Base{public:B.ase(int x=0){cout<<x;}};class Derived:public Base{public:D.erived(int x=0){cout<<x;}private:B.ase val;};int main(){D.erived d(1);return 0;}程序的输出结果是A. ) 0B. ) 1C.

  • 查看答案
  • ( 10 )有如下程序:#include<iostream>using name

    [试题]( 10 )有如下程序:#include<iostream>using namespace std;class A{public:A.(){cout<<"A" ; }~A(){cout<<"A" ; }} ;class B {A. a;public:B.(){cout<<"B";}~B(){cout<<"B";}};int main (){B. b;return 0;}程序的输出结果是 ___________

  • 查看答案
  • ( 30 )有如下程序:#include<iostream>using name

    [单选题]( 30 )有如下程序:#include<iostream>using namespace std;class AA{lilt k;protected:int n;void setK ( int k ) { this->k=k;}public:void setN ( int n ) { this->n=n;}};class BB: public }{/* 类体略 */};int main () {B.B x_ ; //1x .n=1; //2x.setN ( 2 ) ;

  • 查看答案
  • ( 32 )有如下程序:#include<iostream>Using name

    [单选题]( 32 )有如下程序:#include<iostream>Using namespace std;class A{public:virtual void f () {cout+1;}void g () {cout<<2;}};class B:public A{public:virtual void f () {cout<<3;}void g () {ecut<<4;}};void show ( A &a ) {a.f ( ) ; a.g

  • 查看答案
  • ( 35 )有如下程序:#include<iostream>using name

    [单选题]( 35 )有如下程序:#include<iostream>using namespace std;class ONE{int c;public:ONE ( ) : c ( 0 ) {cout<<1;}ONE ( int n ) : c ( n ) {cout<<2;}};class TWO{ONE onel;ONE one2;public:TWO ( int m ) : one2 ( m ) {cout<<3;}};int main () tTW

  • 查看答案
  • ( 11 )有如下程序:#include<iostream>using name

    [试题]( 11 )有如下程序:#include<iostream>using namespace std;class Monitor{public:Monitor ( char t ) : type ( t ) {}void print ( ) const{cout<<"The type of monitor is"<<type<<endl;}private:char type;};class Computer{public:C.omputer ( i

  • 查看答案
  • ( 30 )有如下程序:#include<iostream>using name

    [单选题]( 30 )有如下程序:#include<iostream>using namespace std;public:A.A(){ cout<<'1'; }};class BB: public AA{int k;public:B.B():k(0){ cout<<'2'; }B.B(int n):k(n){ cout<<'3';}}int main(){B.B b(4), c;return 0;}运行时的输出结果是A. ) 1312B. )

  • 查看答案
  • ( 29 )有如下程序:#include<iostream>using name

    [单选题]( 29 )有如下程序:#include<iostream>using namespace std;class Name{char name[20];public:Name(){strcpy(name,""); cout<<'?';}Name(char *fname)){strcpy(name,fname); cout<'?';}};int main(){Name names[3]={Name(" 张三 "),Name(" 李四 ")};Retu

  • 查看答案
  • ( 31 )有如下程序:#include<iostream>using name

    [单选题]( 31 )有如下程序:#include<iostream>using namespace std;class C1{public:~C1(){ cout<<1; }};C.lass C2: public c1{public:~c2(){ cout<<2; }};int main(){C.2 cb2;C.1 *cb1;return 0;}运行时的输出结果是A. ) 121B. ) 21C. ) 211D. ) 12

  • 查看答案
  • ( 33 )有如下程序:#include<iostream>using name