|
|
Simple input and output can be done using the operators >> (get from) and << (put to). They are declared like this using the facility for overloading function operators:
ostream& operator<<(ostream&, complex); istream& operator>>(istream&, complex&);When zz is a complex variable cin>>zz reads a pair of numbers from the standard input stream cin into zz. The first number of the pair is interpreted as the real part of the Cartesian representation of a complex number and the second as the imaginary part. The expression cout<<zz writes zz to the standard output stream cout. For example:
void copy(istream& from, ostream& to)
{
complex zz;
while (from>>zz) to<<zz;
}
reads a stream of complex numbers like
(3.400000,5.000000)
and writes them like
(3.4,5).
The parentheses and comma are mandatory delimiters for input, while
white space is optional.
A single real number, for example
10e-7
or
(123),
will be interpreted as a
complex
with
0
as the imaginary part by operator
>>.
A user who does not like the standard implementation of << and >> can provide alternate versions.