因为单目运算符仅作用于当前对象,因此,当将这些运算符重载为函数成员时,就不再需要参数。
1、重载前置运算符(++obj)
在feetinches类中添加如下运算符重载函数成员:
//重载前置++运算符
FeetInches operator++()
{
++this->inches; //前置运算符,先加再返回
this->simplify();
return *this; //对this指针解引用,返回当前对象
}
在主函数中执行如下语句后,会将该对象的inches成员加1.
FeetInches length1(3,5),length2(1,2),length3;
length3 = length1 + length2;
cout <<"the data of the length3 is:"<< endl;
cout<<"feet: "<<length3.getFeet()<<endl;
cout<<"inches: "<<length3.getInches()<<endl;
FeetInches length4 = ++length3;
cout<<"after ++length3,the inches of length4 is: "<<length4.getInches()<<endl;
运行结果: