要实现运算符重载,我们需要使用‘operator’关键字。为了给运算符分配额外的任务,我们需要实现一个函数。这将为以最自然的形式编写表达式提供便利。
程序:
using namespace std;
#include <iostream>
class Sample
{
private:
int count;
public:
//默认构造函数
Sample()
{ count = 0;}
//参数化构造函数
Sample(int c)
{ count = c;}
//重载运算符
void operator--()
{ --count;}
//打印值
void printValue()
{
cout<<"Value of count : "<<count<<endl;
}
};
int main(){
int i = 0;
//对象声明
Sample S1(100);
for(i=0; i< 10; i++)
{
//将应用运算符重载
--S1;
//S1--; //错误
S1.printValue();
}
return 0;
}输出结果
Value of count : 99 Value of count : 98 Value of count : 97 Value of count : 96 Value of count : 95 Value of count : 94 Value of count : 93 Value of count : 92 Value of count : 91 Value of count : 90
在此程序中,有一个名为Sample的类,它包含一个数据成员值,并且我们实现了一个使pre-decrement运算符重载的函数。
--S1(一元预减重载运算符)将减小数据成员值的值。
但是,我们不能将后减与这种运算符重载方法一起使用。