#include<iostream>
using namespace std;
class A
{
public:
friend istream & operator>>(istream &in,A &a);
friend ostream & operator<<(ostream &out,A &a);
friend bool operator>(A &a1,A &a2);
protected:
int data;
};
istream & operator>>(istream &in,A &a)
{
in>>a.data;
return in;
}
ostream & operator<<(ostream &out,A &a)
{
out<<a.data;
return out;
}
bool operator>(A &a1,A &a2)
{
if(a1.data>a2.data) return true;
else return false;
}
int main()
{
A a1,a2;
bool yes=true;
cin>>a1>>a2;
cout<<a1<<' '<<a2<<endl;
if(a1>a2)
cout<<a1<<'>'<<a2<<endl;
cout<<yes<<endl;
return 0;
}
我自己的定义了一个类,主要就是那个重载的大于号,是返回布尔型的。可是,这个返回的布尔型只可以用于判断,却不能用于输出,一旦直接输出,编译就通不过,请高手解答此事。。