项目一利用友元函数完成运算符的重载

来源:互联网 发布:滚球软件 编辑:程序博客网 时间:2024/05/29 15:20
#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);void display(); private:double real;double imag;}; 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;    c.imag=c1.imag-c2.imag;    return c;}void Complex::display(){   cout<<"("<<real<<","<<imag<<"i"<<")"<<endl;}Complex operator*(Complex &c1,Complex &c2){   Complex c3;   c3.real=c1.real*c2.real-c1.imag*c2.imag;   c3.imag=c1.imag*c2.real+c1.real*c2.imag;   return c3;}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();return 0;}

原创粉丝点击