An overloaded operator is just a "function", so you can do your functions to do whatever you want.
But overloaded operator retain their role in expression (they will retain their nature of being prefix, postfix or infix, as well as their precedence).
So wherever you can write
A operator*(const A& a, const A& b)
{ return a+b; }
(if it is that what you mean with "turning it into a +" )
will always retain a "multiplicative behavior" respect to +:
a + b * c
will be evaluated as
a + (b*c)
and will never become
(a+b)*c
Even if you revert the semantics of * and +.