[Solved] : Question 137627

A number of the form a + ib, in which i2 = -1 and a and b are real numbers, is called a complex number. We call the real part and b the imaginary part of a + ib. Complex numbers can also be represented as ordered pairs (a, b). The addition and multiplication of complex numbers are defined by the following rules:

(a + ib) + (c + id) = (a + c) + i(b + d )
(a + ib) * (c + id) = (ac – bd) + i(ad + bc)
Using the ordered pair notation, these rules are written as:
(a, b) + (c, d) = ((a + c), (b + d ))
(a, b) * (c, d) = ((ac – bd ), (ad + bc))

C++ has no built-in data type that allows us to manipulate complex numbers. Construct a data type, complex Type, that can be used to process complex numbers. Overload the stream insertion and stream extraction operators for easy input and output. We will also overload the operators + and * to perform addition and multiplication of complex numbers. If x and y are complex numbers, we can evaluate expressions such as x + y and x * y.