A quick (not terribly well implemented) example of operator overloading
#include <iostream>
using namespace std;
class My3DVector
{
public:
float x,y,z;
My3DVector operator+(My3DVector r)
{
My3DVector w;
w.x = x+r.x;
w.y = y+r.y;
w.z = z+r.z;
return w;
}
My3DVector operator-(My3DVector r)
{
My3DVector w;
w.x = x-r.x;
w.y = y-r.y;
w.z = z-r.z;
return w;
}
};
int main(void)
{
My3DVector a, b, c;
a.x = 1;
a.y = 2;
a.z = 3;
b.x = 10;
b.y = 11;
b.z = 12;
c = a + b;
cout << c.x << "," << c.y << "," << c.z << endl;
return 0;
}