I don't see why it has not be done since it already exists for + and - operators.Because multiplying vectors component-wise is -- in contrast to vector addition or subtraction -- not a geometrically meaningful operation. The * operator may either denote component-wise product, dot product or cross product (or even more, depending on the context). That's why named functions like those in Thor (http://www.bromeon.ch/libraries/thor/v2.0/doc/_vector_algebra2_d_8hpp.html) are a more expressive way of providing the same functionality.
This has been discussed many times, by the way; please use the search function.
Ok, generally speaking I thought dot and cross product where used with functions, not operator overloads for this exact reason.It's the same reason why * is not overloaded: it's semantics are not clear. Multiplication of two vectors is mathematically not defined; people reading the code may expect dot/cross product or the component-wise operator (often referred to as .* in mathematics).