• <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
            設(shè)計一個長方形類Triangle,包含長和寬兩個私有數(shù)據(jù)成員。
            要求重載運算符
            ·=
             能夠支持:對象=數(shù)值  普通變量=對象  對象=對象  支持連續(xù)的賦值
            ·+= :自定義加法功能
             聯(lián)系與=的聯(lián)系
            ·>  :實現(xiàn)比較兩個矩形對象面積大小的比較
             能夠支持:兩個對象的比較,對象和數(shù)字的比較,數(shù)字和對象的比較
            ·>> :實現(xiàn)矩形對象的輸入
            ·<< :實現(xiàn)矩形對象的輸出
              1 #include <iostream>
              2 using namespace std;
              3 
              4 class Triangle
              5 {
              6 private:
              7     double length;
              8     double width;
              9 public:
             10     Triangle(double l = 0.0double w = 0.0) : length(l), width(w) {}
             11     ~Triangle() {}
             12     Triangle(const Triangle& t) : length(t.length), width(t.width) {}
             13     Triangle& operator =(const Triangle& t)
             14     {
             15         if (this != &t)
             16         {
             17             length = t.length;
             18             width  = t.width;
             19         }
             20         return *this;
             21     }
             22     Triangle& operator =(double d)
             23     {
             24         length = width = d;
             25         return *this;
             26     }
             27     operator double ()
             28     {
             29         return length * width;
             30     }
             31     Triangle& operator +=(const Triangle& t)
             32     {
             33         length += t.length;
             34         width  += t.width;
             35         return *this;
             36     }
             37     friend bool operator > (const Triangle& lhs, const Triangle& rhs);
             38     friend bool operator > (const Triangle& lhs, double rhs);
             39     friend bool operator > (double lhs,          const Triangle& rhs);
             40     friend istream& operator >>(istream& in,     Triangle& rhs);
             41     friend ostream& operator <<(ostream& out,    const Triangle& rhs);
             42 };
             43 
             44 bool operator >(const Triangle& lhs, const Triangle& rhs)
             45 {
             46     return lhs.length * lhs.width > rhs.length * rhs.width;
             47 }
             48 
             49 bool operator >(const Triangle& lhs, double rhs)
             50 {
             51     return lhs.length * lhs.width > rhs;
             52 }
             53 
             54 bool operator >(double lhs, const Triangle& rhs)
             55 {
             56     return lhs > rhs.length * rhs.width;
             57 }
             58 
             59 istream& operator >>(istream& in, Triangle& rhs)
             60 {
             61     in >> rhs.length >> rhs.width;
             62     if (!in)
             63     {
             64         cerr << "Input error!" << endl;
             65         exit(1);
             66     }
             67     return in;
             68 }
             69 
             70 ostream& operator <<(ostream& outconst Triangle& rhs)
             71 {
             72     out << rhs.length << '\t' << rhs.width;
             73     return out;
             74 }
             75 
             76 Triangle& operator +(const Triangle& lhs, const Triangle& rhs)
             77 {
             78     Triangle tmp(lhs);
             79     return tmp += rhs;
             80 }
             81 
             82 int main()
             83 {
             84     Triangle t1(1.02.0);
             85     Triangle t2;
             86     t1 = t2;
             87 
             88     cin >> t1 >> t2;
             89     cout << t1 << endl;
             90     cout << t2 << endl;
             91 
             92     t1 = t2;
             93     cout << t1 << endl;
             94     cout << t2 << endl;
             95 
             96     t1 = 10.0;
             97     cout << t1 << endl;
             98     double d = 0.0;
             99     d = t1;
            100     cout << d << endl;
            101 
            102     cout << (t1 > t2) << endl;
            103     cout << (t1 > 5.0<< endl;
            104     cout << (5.0 > t1) << endl;
            105 
            106     t1 += t2;
            107     cout << t1 << endl;
            108     cout << t2 << endl;
            109 
            110     return 0;
            111 }
            posted on 2011-04-29 00:40 unixfy 閱讀(203) 評論(0)  編輯 收藏 引用

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


            久久久久久噜噜精品免费直播| 99久久免费国产精品热| 精品水蜜桃久久久久久久| 久久播电影网| 亚洲国产另类久久久精品| 国产一级持黄大片99久久| 国产精品激情综合久久| 色天使久久综合网天天| 精品久久久久久无码中文字幕一区 | 精品久久久久成人码免费动漫 | 久久国产成人| 国产亚洲美女精品久久久2020| 久久天天躁夜夜躁狠狠| 久久成人国产精品二三区| 伊人热热久久原色播放www| 国产精品欧美久久久久天天影视 | 久久亚洲精品国产亚洲老地址| 91精品国产91久久久久福利| 中文精品99久久国产| 99久久国产免费福利| 国内精品久久久久久99| 久久精品亚洲AV久久久无码| 精品久久久久久无码中文字幕 | 久久精品无码一区二区app| 久久精品亚洲日本波多野结衣| 日本国产精品久久| 久久se这里只有精品| 久久国产乱子伦精品免费强| 无码日韩人妻精品久久蜜桃| 一本色道久久综合| 亚洲色欲久久久久综合网| 久久久综合香蕉尹人综合网| 香港aa三级久久三级| 久久国产成人精品麻豆| 久久se精品一区二区| 国产麻豆精品久久一二三| 久久99精品国产自在现线小黄鸭| 亚洲精品无码久久久久sm| 人妻无码中文久久久久专区| 亚洲乱码精品久久久久..| 亚洲人成伊人成综合网久久久|