/** Copyright (c) 2013, School of Computer Science, Yantai University * All rights reserved. * file name: text. cpp * Prepared by: Hu Ying * completed on: July 15, April 24, 2013 * version: v1.0 ** input Description: none * Problem description: using the Friends function to implement the complex addition, subtraction, multiplication, division operation * program output: output Complex operation result * Problem Analysis: * Algorithm Design: omitted */# include <iostream> using namespace std; class Complex {public: Complex () {real = 0; imag = 0;} Complex (double r, double I) {real = r; imag = I;} friend Complex operator + (Complex & c1, Complex & c2 ); friend Complex operator-(Complex & c1, Complex & c2); friend Complex operator * (Complex & c1, Complex & c2); friend Complex operator/(Complex & c1, complex & c2); void display (); private: double real; double imag;}; // The member function Complex operator + (Complex & c1, Complex & c2) is defined below) {Complex c; c. real = c1.real + c2.real; c. imag = c1.imag + c2.imag; return c;} Complex operator-(Complex & c1, Complex & c2) {Complex c; c. real = c1.real-c2.real; c. imag = c1.imag-c2.imag; return c;} Complex operator * (Complex & c1, Complex & c2) {Complex c; c. real = (c1.real * c2.real-c1.imag * c2.imag); c. imag = (c1.imag * c2.real + c1.real * c2.imag); return c;} Complex operator/(Complex & c1, Complex & c2) {Complex c; c. real = (c1.real * c2.real + c1.imag * c2.imag)/(c2.real * c2.real + c2.imag * c2.imag); c. imag = (c1.imag * c2.real-c1.real * c2.imag)/(c2.real * c2.real + c2.imag * c2.imag); return c;} void Complex: display () {cout <"(" <real <"," <imag <"I)" <endl ;}// the main () function int main () {Complex c1 (3, 4), c2 (5,-10), c3; cout <"c1 ="; c1.display (); cout <"c2 ="; c2.display (); c3 = c1 + c2; cout <"c1 + c2 ="; c3.display (); c3 = c1-c2; cout <"c1-c2 ="; c3.display (); c3 = c1 * c2; cout <"c1 * c2 ="; c3.display (); c3 = c1/c2; cout <"c1/c2 ="; c3.display (); return 0 ;}
Calculation Result: