Home » C++ programming language

How to overload post-decrement operator using non-member or free function in C++?

Post-decrement operator overloading in C++: Using C++ program, here we will learn how to overload post-decrement operator using non-member or free function?

Prerequisite: operator overloading and its rules

Here, we are going to implement a C++ program that will demonstrate operator overloading (post-decrement) using non-member or free member function.

Note: This type of non-member function will access the private member of class. So the function must be friend type (friend function).

Consider the program:

using namespace std;
#include <iostream>

//Sample class to demonstrate operator overloading
class Sample
{
	//private data members
	private: 
	int value;
	
	public:     
	//Parameterized constructor
	Sample(int c)
	{ value = c;}      


	//making operator overloading declaration as 
	//friend function
	friend Sample operator--(Sample &S, int);

	//printing the value
	void printValue()
	{
		cout<<"Value is : "<<value<<endl;
	}
};

//overator overloading function definition
Sample operator--(Sample &S,int)
{
	S.value--;       
	return S;
}

//main program
int main()
{
	int i = 0;
	//object declaration
	//with parameterized constructor calling
	Sample S1(100);

	for(i=0;i<5;i++)
	{
		S1--;
		S1.printValue();
	}

	return 0;    
}

Output

Value is : 99
Value is : 98
Value is : 97
Value is : 96
Value is : 95





Was this page helpful? YES NO

Are you a blogger? Join our Blogging forum.



Comments and Discussions


We are using Google to publish ads on our website; Google has its own privacy policies. They may save log, cookies on your system. Google may also collect information of your system like IP address, region, city, country. For more details please go through the Google’s privacy policy.