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).
C++ program to overload binary plus (+) operator using non-member or free 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