C C++ Java Data Structure Python JavaScript CSS Ajax PL/SQL PHP Puzzles C programs C++ programs Java programs

Home » C++ programming language

Overload binary plus (+) operator using non-member or free function in C++

Overloading Binary plus (+) operator in C++: Using C++ program, here we will learn how to overload Binary plus 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 (Binary Plus (+)) 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:     
	//default constructor
	Sample()
	{ value = 0;}

	//Parameterized constructor
	Sample(int c)
	{ value = c;}      

	//making operator overloading declaration as 
	//friend function
	friend Sample operator+(Sample &S1, Sample &S2);

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

//overator overloading function definition
Sample operator+(Sample &S1, Sample &S2)
{
	Sample S;
	S = S1.value+S2.value;       
	return S;
}

//main program
int main()
{
	int i = 0;
	//object declaration by calling parameterized constructor
	Sample S1(100);
	Sample S2(200);       
	Sample S3;

	//adding objects (Binary + operator overloading)
	S3 = S1 + S2;

	cout<<"S1 :"<<endl; 
	S1.printValue();

	cout<<"S2 :"<<endl;
	S2.printValue();

	cout<<"S3 :"<<endl;
	S3.printValue();

	return 0;    
}

Output

S1 :
Value is : 100
S2 :
Value is : 200
S3 :
Value is : 300








COMMENTS