template< class T >
complex<T> operator+( const complex<T>& lhs, const complex<T>& rhs); (1) template< class T >
complex<T> operator+( const complex<T>& lhs, const T& rhs); (2) template< class T >
complex<T> operator+( const T& lhs, const complex<T>& rhs); (3) template< class T >
complex<T> operator-( const complex<T>& lhs, const complex<T>& rhs); (4) temp