#include #include class Imaginary_Number { public: Imaginary_Number(); // This is the constructor double real_part(); double imaginary_part(); void add(double r, double i); void subtract(double r, double i); void multiply(double r, double i); void divide(double r, double i); private: double real; double imaginary; }; Imaginary_Number::Imaginary_Number() { real = 0; imaginary = 0; } double Imaginary_Number::real_part() { return(real); } double Imaginary_Number::imaginary_part() { return(imaginary); } void Imaginary_Number::add(double r, double i) { real += r; imaginary += i; } void Imaginary_Number::subtract(double r, double i) { real -= r; imaginary -= i; } void Imaginary_Number::multiply(double r, double i) { real = (real*r) - (imaginary*i); imaginary = (real*i) + (imaginary*i); } void Imaginary_Number::divide(double r, double i) { real = (real/r) + (imaginary/i); imaginary = -(real/i) + (imaginary/r); } int main(void) { Imaginary_Number x; Imaginary_Number y; x.add(3.0, 0.0); cout << "x = " << x.real_part() << "+" << x.imaginary_part() << "i\n"; y.add(7.0, 1.0); cout << "y = " << y.real_part() << "+" << y.imaginary_part() << "i\n"; x.add(y.real_part(), y.imaginary_part()); cout << "x = " << x.real_part() << "+" << x.imaginary_part() << "i\n"; y.add(1.0, 0.0); cout << "y = " << y.real_part() << "+" << y.imaginary_part() << "i\n"; return(0); } Output: ostrich% Imaginary x = 3+0i y = 7+1i x = 10+1i y = 8+1i ostrich%