Example:7
C++ program to add two objects using overload binary operator “+” with friend functions.
// to overload + operator // add two objects with friend functions #include<iostream> #include<conio.h> using namespace std; class sample { private: int a; public: sample(); sample(int n); void get(); void disp(); friend sample operator+(sample s1,sample s2); }; sample::sample() { a=0; } sample::sample(int n) { a=n; } void sample::get() { cout<<"Enter the value of a "; cin>>a; } void sample::disp() { cout<<"a= "<<a<<endl; } sample operator+(sample s1,sample s2) { sample t; t.a=s1.a+s2.a; return(t); } int main() { sample e1,e2,e3; e1.get();e2.get(); e1.disp();e2.disp(); e3=e1+e2;//e3=operator+(e1,e2); e3.disp(); getch(); return(0); }
Output:
Enter the value of a 10
Enter the value of a 20
a= 10
a= 20
a= 30
Example:8
Declare a class named “distance” with attributes as feet and inches. Take input for two objects calculate and print their sum using overloaded binary operator “+”.
//distance1 : feet inches (without friend function) // add two distance1s using "+" overloaded operator #include<iostream> #include<conio.h> using namespace std; class distance1 { private: int feet,inches; public: distance1();//defa distance1(int f,int i); //para void read(); void show(); distance1 operator+(distance1 d); }; distance1::distance1() { feet=0; inches=0; } distance1::distance1(int f,int i) { feet=f; inches=i; } void distance1::read() { cout<<"Enter feet and inches "; cin>>feet>>inches; } void distance1::show() { cout<<"feet "<<feet<<" inches "<<inches<<endl; } distance1 distance1::operator+(distance1 d) { distance1 t; t.feet=feet+d.feet; t.inches=inches+d.inches; if(t.inches>=12) { t.feet=t.feet+t.inches/12;//t.feet+=t.inches/12; t.inches=t.inches%12; } return(t); } int main() { distance1 d1,d2,d3; d1.read();d2.read(); d1.show();d2.show(); d3=d1+d2;//d3=d1.operator+(d2); d3.show(); getch(); return(0); }
Output:
Enter feet and inches 5 10
Enter feet and inches 6 11
feet 5 inches 10
feet 6 inches 11
feet 12 inches 9
Example:9
Declare a class named “distance” with attributes as feet and inches. Take input for two objects calculate and print their sum using overloaded binary operator “+” with friend function.
//distance1 : feet inches //using friend function #include<iostream> #include<conio.h> using namespace std; class distance1 { private: int feet,inches; public: distance1(); distance1(int f,int i); void read(); void show(); friend distance1 operator+(distance1 d1,distance1 d2); }; distance1::distance1() { feet=0; inches=0; } distance1::distance1(int f,int i) { feet=f; inches=i; } void distance1::read() { cout<<"Enter feet and inches "; cin>>feet>>inches; } void distance1::show() { cout<<feet<<" "<<inches<<endl; } distance1 operator+(distance1 d1,distance1 d2) { distance1 t; t.feet=d1.feet+d2.feet; t.inches=d1.inches+d2.inches; if(t.inches>=12) { t.feet=t.feet+t.inches/12;//t.feet+=t.inches/12; t.inches=t.inches%12; } return(t); } int main() { distance1 d1,d2,d3; d1.read();d2.read();d1.show();d2.show(); d3=d1+d2;//d3=operator+(d1,d2); d3.show(); getch(); return(0); }
Output:
Enter feet and inches 5 20
Enter feet and inches 6 30
5 20
6 30
15 2