Operator overloading
Operator
overloading is a technique in C++ where we overload an operator. Here operators
are <,>,>=, <= or =.
The true
concept about operator overloading is that using operator overloading scheme we
manipulate or interact two objects . For
example we add the attributes of two different objects etc.
I give an
example to understand the overloading concept
In this
example, two different distances belong to two different objects and they are
added through operator overloading
#include<iostream>
using namespace std;
class distancee
{ private:
int feet;
float inches;
public:
distancee( ):feet(0),inches(0.0)
{
}
distancee(int
ft,float in) : feet(ft),inches(in)
{ }
void
getdist()
{
cout<<"enter
feet";
cin>>feet;
cout<<"enter
inches";
cin>>inches;
}
void
showdist() const
{
cout<<feet<<inches<<endl; }
void
operator +=(distancee);
};
void distancee::operator +=
(distancee d2)
{
feet
+= d2.feet;
inches
+=d2.inches;
if(inches
>= 12.0)
{
inches
-= 12.0;
feet++;
}
};
int main()
{
distancee
dist1;
dist1.getdist();
cout<<"dist1";
dist1.showdist();
distancee
dist2(11,6.35);
cout<<"dist2";
dist2.showdist();
dist1+=dist2;
cout<<"after
addition";
cout<<"dist1";
dist1.showdist();
cout<<endl;
return
0;
}
In this code here we manipulate two different objects
attributes together
feet +=
d2.feet;
inches +=d2.inches;
if(inches >= 12.0)
{
inches -= 12.0;
feet++;}
Here:
feet and d2.feet indicates two different objects values
No comments:
Post a Comment