That's because the constructor is a function with no return type (not even void) whose name is the name of the class.
So
CVector::
CVector(int, int) is the same as before with the
return type, the
name of the class, and the
name of the function.
Here you are defining the function CVector (taking two int parameters) as a member of the class CVector (and since the names are the same, it will be the constructor). Before you were defining the function operator+ (which you can abbreviate as just + when calling it, though not defining it) as a member of the class CVector, and returning a CVector.
Edit: ooh another example:
Code:
int CVector::taxicab_distance(const CVector& other) {
return abs(x-other.x)+abs(y-other.y)
}
See if you can work out how that would be called.