第八周上機任務項目1-3擴充運算子的功能

來源:互聯網
上載者:User
01./*      02.* 程式的著作權和版本聲明部分      03.* Copyright (c)2013, 煙台大學電腦學院學生      04.* All rightsreserved.      5.* 檔案名稱: complex.cpp                                 06.* 作    者:趙冠哲                                  07.* 完成日期:2013年4月19日      08.* 版本號碼: v1.0            09.* 輸入描述:      10.* 問題描述:    11.*/#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);    friend Complex operator+(const double &a,Complex &c2);    friend Complex operator+(Complex &c1,const double &a);    friend Complex operator-(Complex &c1);    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;}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;}Complex operator+(const double &a,Complex &c2){    return Complex(a+c2.real,c2.imag);}Complex operator+(Complex &c1,const double &a){    return Complex(c1.real+a,c1.imag);}Complex operator-(Complex &c1){    return Complex(-c1.real,-c1.imag);}void Complex::display(){    cout<<"("<<real<<","<<imag<<"i)"<<endl;}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();    c3=1.66+c2;    cout<<"1.66+c2=";    c3.display();    c3=c1+1.57;    cout<<"c1+1.66=";   c3.display();   cout<<"c3=-c1=";    c3=-c1;    c3.display();    return 0;}  

運行結果;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.