• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 183,  comments - 10,  trackbacks - 0

            + - * / += -= *= /= >> <<

              1 #include <iostream>
              2 using namespace std;
              3 
              4 class Complex
              5 {
              6 private:
              7     double real;
              8     double image;
              9 public:
             10     Complex(double r = 0.0double i = 0.0) : real(r), image(i) {}
             11     Complex(const Complex& c)
             12     {
             13         real = c.real;
             14         image = c.image;
             15     }
             16     ~Complex() {}
             17     Complex& operator=(const Complex& c)
             18     {
             19         if (this != &c)
             20         {
             21             real = c.real;
             22             image = c.image;
             23         }
             24         return *this;
             25     }
             26     Complex& operator+=(const Complex& c)
             27     {
             28         real += c.real;
             29         image += c.image;
             30         return *this;
             31     }
             32     Complex& operator-=(const Complex& c)
             33     {
             34         real -= c.real;
             35         image -= c.image;
             36         return *this;
             37     }
             38     Complex& operator*=(const Complex& c)
             39     {
             40         double r2 = real, i2 = image;
             41         real = r2 * c.real - i2 * c.image;
             42         image = r2 * c.image + i2 * c.real;
             43         return *this;
             44     }
             45     Complex& operator/=(const Complex& c)
             46     {
             47         double r2 = real, i2 = image;
             48         real = (r2 * c.real + i2 * c.image) / (c.real * c.real + c.image * c.image);
             49         image = (i2 * c.real - r2 * c.image) / (c.real * c.real + c.image * c.image);
             50         return *this;
             51     }
             52     friend Complex operator+(const Complex& c1, const Complex& c2);
             53     friend Complex operator-(const Complex& c1, const Complex& c2);
             54     friend Complex operator*(const Complex& c1, const Complex& c2);
             55     friend Complex operator/(const Complex& c1, const Complex& c2);
             56     friend istream& operator>>(istream& in, Complex& c);
             57     friend ostream& operator<<(ostream& outconst Complex& c);
             58 };
             59 
             60 Complex operator+(const Complex& c1, const Complex& c2)
             61 {
             62     Complex t(c1);
             63     return t += c2;
             64 }
             65 
             66 Complex operator-(const Complex& c1, const Complex& c2)
             67 {
             68     Complex t(c1);
             69     return t -= c2;
             70 }
             71 
             72 Complex operator*(const Complex& c1, const Complex& c2)
             73 {
             74     Complex t(c1);
             75     return t *= c2;
             76 }
             77 
             78 Complex operator/(const Complex& c1, const Complex& c2)
             79 {
             80     Complex t(c1);
             81     return t /= c2;
             82 }
             83 
             84 istream& operator>>(istream& in, Complex& c)
             85 {
             86     in >> c.real >> c.image;
             87     if (!in)
             88     {
             89         cerr << "Input error!" << endl;
             90         exit(1);
             91     }
             92     return in;
             93 }
             94 
             95 ostream& operator<<(ostream& outconst Complex& c)
             96 {
             97     out << c.real << '+' << c.image << 'i';
             98     return out;
             99 }
            100 
            101 int main()
            102 {
            103     Complex c1(1.02.0), c2(3.04.0);
            104     cout << c1 << endl;
            105     cout << c2 << endl;
            106     cout << c1 + c2 << endl;
            107     cout << c1 - c2 << endl;
            108     cout << c1 * c2 << endl;
            109     cout << c1 / c2 << endl;
            110 
            111     Complex c3(5.06.0), c4(7.08.0);
            112     c1 += c2 += c3 += c4;
            113     cout << c1 << endl;
            114     cout << c2 << endl;
            115     cout << c3 << endl;
            116     cout << c4 << endl;
            117     return 0;
            118 }
            posted on 2011-04-21 23:46 unixfy 閱讀(198) 評論(0)  編輯 收藏 引用

            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            亚洲国产精品无码久久久蜜芽| 激情伊人五月天久久综合| 精品久久久久久无码免费| 亚洲国产成人精品久久久国产成人一区二区三区综 | 伊人久久大香线蕉综合网站| 77777亚洲午夜久久多喷| 久久综合久久综合九色| 开心久久婷婷综合中文字幕| 亚洲AV无码一区东京热久久 | 久久久久无码中| 久久精品国产亚洲精品2020| 欧美性大战久久久久久| 久久精品国产亚洲AV高清热| 伊人久久大香线蕉无码麻豆| 93精91精品国产综合久久香蕉| 国产美女亚洲精品久久久综合| 99久久精品九九亚洲精品| 亚洲人成精品久久久久| 久久中文精品无码中文字幕| 久久精品男人影院| 久久久久成人精品无码中文字幕 | 人妻无码αv中文字幕久久琪琪布| 国内精品久久久久影院优 | 无码人妻久久一区二区三区免费丨 | 99久久成人18免费网站| 久久久久久亚洲AV无码专区| 亚州日韩精品专区久久久| 久久艹国产| 女同久久| 久久婷婷午色综合夜啪| 一本色综合久久| 国产成人精品综合久久久| 伊人久久亚洲综合影院| 久久本道综合久久伊人| 久久久久人妻精品一区三寸蜜桃 | 色综合合久久天天综合绕视看| 久久精品国产清高在天天线| 精品久久久噜噜噜久久久 | 国产成人精品久久综合| 精品99久久aaa一级毛片| 国产精品内射久久久久欢欢 |