Home » C++ programming language

C++ program to overload unary pre-increment operator

Learn: How to overload a unary pre-increment operator in C++? This post contains program on it with the example and explanation.

Read: operator overloading and its rules

Here, we are implementing/defining unary pre-increment operator overloading in C++ programming, to define it: use operator keyboard as function name and then write operator symbol.

Syntax:

return_type operator++(function_argument)
{
    //body
}

Consider the program:

using namespace std;
#include <iostream>

class Sample
{	
	//private data member
	private:
		int count;
		
	public:
		//default constructor 
		Sample()
		{ count = 0;}      
		//parameterized constructor
		Sample(int c)
		{ count = c;}      

		//operator overloading
		void operator++()
		{ ++count;}
		
		//printing the value
		void printValue()
		{
			cout<<"Value of count : "<<count<<endl;
		}
};

//main program
int main()
{
	int i = 0;
	//object creation
	Sample S1(10);

	for(i=0; i< 10; i++)
	{    
		//Incrementing object
		++S1;
		//S1++; //Error    
		S1.printValue();
	}

	return 0;    
}

Output

Value of count : 11
Value of count : 12
Value of count : 13
Value of count : 14
Value of count : 15
Value of count : 16
Value of count : 17
Value of count : 18
Value of count : 19
Value of count : 20

In this program, we have created a class named Sample. It contains a data member value. And we have implemented a function to overload pre-increment operator.

We cannot use post-increment with this method of operator overloading.

++S1 is the statement which is calling the pre-incremented overloaded operator, which will increase the value of private data member (value) .

We can use below statement also in place of ++S1: S1.operator++();






Comments and Discussions

Ad: Are you a blogger? Join our Blogging forum.





Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates


© https://www.includehelp.com some rights reserved.