template<class T>
complex<T> operator+(const complex<T>& lhs, const complex<T>& rhs);
template<class T>
complex<T> operator+(const complex<T>& lhs, const T& rhs);
template<class T>
complex<T> operator+(const T& lhs, const complex<T>& rhs);
template<class T>
complex<T> operator+(const complex<T>& lhs);
The binary operators each convert both operands to the return type, then return the complex sum of the converted lhs
and rhs
.
The unary operator returns lhs
.