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
	int value;
	//default constructor
	{ 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; 

	cout<<"S2 :"<<endl;

	cout<<"S3 :"<<endl;

	return 0;    


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

Liked this article? Do share with your friends :)