I guess you are referring to the
operator+
definition.
Well
param
is the argument of this function as @Stewbond mentioned.
Assignment of these values has been performed here:
1 2
|
CVector a (3,1);
CVector b (1,2);
|
So when
operator+
is called argument to this function is
b
which has the values previously assigned.
It's basically the same as a function taking some built in type like
int
as argument. Here instead is
CVector
.
I guess the problem is imagining this operator as function with argument and a invoking object. If it helps
c = a + b;
is the same as invoking:
c = a.operator+(b);
You can work with either of the two versions but as you can imagine noone is working with the second one (it's more intuitive and simple to use the first form)
One last thing, in this implementation
b
is copied when this operator is invoked. It would be just fine to use reference not to copy it.