这个是我模仿书上的单目运算符的格式写的,可以运行,运行出来也是正确的.
重载的实际作用我知道.可是实现的过程我不太清楚,我在程序上做了下自己的理解,帮我看看那里理解错误了
还有为什么这样实现的过程先是什么和什么.我对这个格式看的莫名.手里那个资料太抽象又少..
#include<iostream.h>
class cow
{
    int weight;
public:
    cow()
    {
        weight=0;
        
    }
    cow(int a)
    {
        weight=a;
    }
    int operator >(cow a)
    {
        
        cow temp;//实例化临时对象
        temp.weight=weight;//把第一个输入的对象的参数复给临时对象的数据成员
/*我想问的是上面这个weight为什么他就知道是第一个输入参数对象的weight.为什么不需要在前面加对象名,而且加了对象名会报错.*/
        if(temp.weight>a.weight)//和第二个对象的数据成员进行比较
        {
            return 1;//如果是大的话,代表真
        }
        else
        {
            return 0;//如果不是大的话,代表假(这个0和1是条件判断用的?)
        }
    }
    
};
void main()
{
    int number1,number2;
    cout<<"输入A牛的重量:"<<endl;
    cin>>number1;
    cout<<"输入B牛的重量:"<<endl;
    cin>>number2;
    cow a(number1);
    cow b(number2);
    if(a>b)
    {
        cout<<"A牛比B牛重"<<endl;
    }
    else
    {
        cout<<"B牛比A牛重的"<<endl;
    }
}

											
	    
