Operator Overloading: Overload the +, =,
#include <iostream>
using namespace std;
class three_d {
int x, y, z;
public:
three_d operator+(three_d t);
three_d operator=(three_d t);
void show(void) ;
void assign(int mx, int my, int mz);
} ;
// Overload the +.
three_d three_d::operator+(three_d t)
{
three_d temp;
temp.x = x+t.x;
temp.y = y+t.y;
temp.z = z+t.z;
return temp;
}
// Overload the =.
three_d three_d::operator=(three_d t)
{
x = t.x;
y = t.y;
z = t.z;
return *this;
}
// show X, Y, Z coordinates
void three_d::show(void)
{
cout << x << ", ";
cout << y << ", ";
cout << z << "\n";
}
// Assign coordinates
void three_d::assign(int mx, int my, int mz)
{
x = mx;
y = my;
z = mz;
}
main(void)
{
three_d a, b, c;
a.assign(1, 2, 3);
b.assign(10, 10, 10);
a.show();
b.show();
c = a+b;
c.show();
c = a+b+c;
c.show();
c = b = a;
c.show();
b.show();
return 0;
}
Related examples in the same category