C ++程序重载一元减量运算符

要实现运算符重载,我们需要使用‘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(一元预减重载运算符)将减小数据成员值的值。

但是,我们不能将后减与这种运算符重载方法一起使用。