这个是我模仿书上的单目运算符的格式写的,可以运行,运行出来也是正确的.
重载的实际作用我知道.可是实现的过程我不太清楚,我在程序上做了下自己的理解,帮我看看那里理解错误了
还有为什么这样实现的过程先是什么和什么.我对这个格式看的莫名.手里那个资料太抽象又少..
#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;
}
}