I've got another question. I'm not totally grasping this overloading operators concept, and the book I'm trying to (partially) learn from isn't helping matters. It gives me the following program:

class Vector
    int x, y;
    Vector operator + (Vector & OtherVector);
    Vecotr & operator += (Vector & OtherVector);

Vector Vector::operator + (Vector & OtherVector)
    Vector TempVector;
    TempVector.x = x + OtherVector.x;
    TempVector.y = y + OtherVector.y;
    return TempVector;

Vector & Vector::operator += (Vector & OtherVector)
    x += OtherVector.x;
    y += OtherVector.y;
    return * this;

Vector VectorOne;
Vector VectorTwo;
Vector VectorThree;

VectorOne = VectorTwo + VectorThree;
VectorThree += VectorOne;
Besides from the obvious things like lacking main(), I would appreciate it if someone would explain this code block to me, as I can't really understand the book. What's with all the references? Also, this is the first time I've seen 'this' - could someone tell me what that's all about also?

Thanks alot.