What you suggest is operation of multiplication and addition. It is not the goal of this constructor to provide these operations. We have the operations of vector addition (```operator+()```) and scalar vector multiplication (```operator*()```).
The intention of this constructor is to construct a vector (v) from two given points (from point a to point b). The notation is usually given as v=b-a.
I understand your confusion from this operation. What would you suggest to improve readability in the code?