• <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>

            luqingfei@C++

            為中華之崛起而崛起!
            兼聽則明,偏聽則暗。

            關于C++中類的基礎練習

            本次練習的內容,涉及到C++中類的構造函數,默認構造函數,副本構造函數,構造函數中的成員初始化列表,類的數據成員,類的成員函數,友元函數,等技術點。

            下面有4道題:
            1、創建一個簡單的類Integer,它只有一個私有數據成員int。為這個類提供構造函數,并使用它們輸出創建對象的消息。提供類的成員函數,獲取和設置數據成員,并輸出該值。編寫一個測試程序,創建和操作幾個Integer對象。在測試程序中獲取,設置和輸出每個對象的數據成員值,以驗證這些函數。
            2、修改上一題類Integer的構造函數,把數據成員初始化為初始化列表中的0,并實現類的副本構造函數。編寫一個成員函數,比較當前對象和作為參數傳送的Interger對象。如果當前對象小于參數,該函數就返回-1,如果它們相等,函數就返回0,如果當前對象大于參數,函數就返回+1。測試該函數的兩個版本:第一個版本的參數按值傳送,第二個版本的參數按引用傳送。在調用函數時,構造函數會輸出什么結果?解釋出現這種結果的原因。類中的函數不能是重載函數,為什么?
            3、為類Integer實現成員函數add()、subtract()和multiply(),對當前對象和Integer類型的參數值進行加、減和乘法運算。在類中用main()演示這些函數的操作,main()創建幾個Integer對象,它們分別包含值4、5、6、7和8,再使用這些對象計算4*5*5*5+6*5*5+7*5+8的值。實現這些函數,使計算和結果的輸出在一個語句中完成。
            4、修改題2的解決方法,把compare() 函數實現為類Integer的一個友元。

            參考答案:

            Integer.h

            integer.cpp

            // main.cpp
            #include <iostream>
            #include 
            "integer.h"
            using std::cout;
            using std::endl;

            void main() {
                Integer integer;
                cout 
            << "Default value of integer: " << integer.getValue() << endl;

                integer.setValue(
            100);
                cout 
            << "Value of integer: " << integer.getValue() << endl;

                Integer int2(integer);
                cout 
            << "Copy obj: " << int2.getValue() << endl;

                Integer int3(
            999);
                cout 
            << int3.getValue() << endl;

                
            int result = int2.compare(int3);
                cout 
            << result << endl;

                result 
            = compare(int2, int3);
                cout 
            << result << endl;


                
            // 4*5*5*5 + 6*5*5 + 7*5 + 8
                Integer int4(4);
                Integer int5(
            5);
                Integer int6(
            6);
                Integer int7(
            7);
                Integer int8(
            8);

                Integer
            * result2 = int4.multiply(int5)->multiply(int5)->multiply(int5)->
                    add(int6.multiply(int5)
            ->multiply(int5)->getValue())->
                    add(int7.multiply(int5)
            ->getValue())->add(int8);

                cout 
            << "4*5*5*5 + 6*5*5 + 7*5 + 8 = " << result2->getValue() << endl;

            }

            int compare(const Integer& ineger1, const Integer& integer2){
                cout 
            << "friend function:" << endl;

                
            if (ineger1.value<integer2.value) 
                    
            return -1;
                
            else if (ineger1.value==integer2.value) 
                    
            return 0;
                
            return 1;
            }

            posted on 2009-02-27 18:10 luqingfei 閱讀(847) 評論(0)  編輯 收藏 引用 所屬分類: C++基礎

            導航

            <2009年2月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            1234567

            統計

            留言簿(6)

            隨筆分類(109)

            隨筆檔案(105)

            Blogers

            Game

            Life

            NodeJs

            Python

            Useful Webs

            大牛

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            久久66热人妻偷产精品9| 午夜精品久久久久久| 国内精品久久国产大陆| 亚洲国产精品久久66| 麻豆国内精品久久久久久| 人妻精品久久无码专区精东影业 | 久久精品毛片免费观看| avtt天堂网久久精品| 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 | 狠狠综合久久综合中文88| 2020久久精品亚洲热综合一本| 久久天天躁狠狠躁夜夜avapp| 91精品国产综合久久香蕉| 一本色道久久综合狠狠躁| 国产免费福利体检区久久| 日韩人妻无码精品久久免费一| 国产精品午夜久久| 狠狠色婷婷综合天天久久丁香| 亚洲国产成人久久综合一区77| 好属妞这里只有精品久久| 国内精品伊人久久久久777| 久久国产精品免费一区| 久久国产精品-久久精品| 熟妇人妻久久中文字幕| 久久精品国产男包| 久久久99精品一区二区| 26uuu久久五月天| 国产AV影片久久久久久| 久久精品成人免费看| 久久99热只有频精品8| 亚洲AV无码久久精品狠狠爱浪潮| 天天影视色香欲综合久久| 久久国产精品免费一区二区三区| 久久91精品国产91久久小草| 人人狠狠综合久久88成人| 麻豆成人久久精品二区三区免费| 久久久久高潮综合影院| 亚洲午夜无码久久久久| 亚洲欧美日韩久久精品第一区| 精品多毛少妇人妻AV免费久久 | 蜜臀av性久久久久蜜臀aⅴ麻豆 |