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

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

            關(guān)于C++中類的基礎(chǔ)練習(xí)

            本次練習(xí)的內(nèi)容,涉及到C++中類的構(gòu)造函數(shù),默認(rèn)構(gòu)造函數(shù),副本構(gòu)造函數(shù),構(gòu)造函數(shù)中的成員初始化列表,類的數(shù)據(jù)成員,類的成員函數(shù),友元函數(shù),等技術(shù)點(diǎn)。

            下面有4道題:
            1、創(chuàng)建一個簡單的類Integer,它只有一個私有數(shù)據(jù)成員int。為這個類提供構(gòu)造函數(shù),并使用它們輸出創(chuàng)建對象的消息。提供類的成員函數(shù),獲取和設(shè)置數(shù)據(jù)成員,并輸出該值。編寫一個測試程序,創(chuàng)建和操作幾個Integer對象。在測試程序中獲取,設(shè)置和輸出每個對象的數(shù)據(jù)成員值,以驗(yàn)證這些函數(shù)。
            2、修改上一題類Integer的構(gòu)造函數(shù),把數(shù)據(jù)成員初始化為初始化列表中的0,并實(shí)現(xiàn)類的副本構(gòu)造函數(shù)。編寫一個成員函數(shù),比較當(dāng)前對象和作為參數(shù)傳送的Interger對象。如果當(dāng)前對象小于參數(shù),該函數(shù)就返回-1,如果它們相等,函數(shù)就返回0,如果當(dāng)前對象大于參數(shù),函數(shù)就返回+1。測試該函數(shù)的兩個版本:第一個版本的參數(shù)按值傳送,第二個版本的參數(shù)按引用傳送。在調(diào)用函數(shù)時,構(gòu)造函數(shù)會輸出什么結(jié)果?解釋出現(xiàn)這種結(jié)果的原因。類中的函數(shù)不能是重載函數(shù),為什么?
            3、為類Integer實(shí)現(xiàn)成員函數(shù)add()、subtract()和multiply(),對當(dāng)前對象和Integer類型的參數(shù)值進(jìn)行加、減和乘法運(yùn)算。在類中用main()演示這些函數(shù)的操作,main()創(chuàng)建幾個Integer對象,它們分別包含值4、5、6、7和8,再使用這些對象計算4*5*5*5+6*5*5+7*5+8的值。實(shí)現(xiàn)這些函數(shù),使計算和結(jié)果的輸出在一個語句中完成。
            4、修改題2的解決方法,把compare() 函數(shù)實(shí)現(xiàn)為類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 閱讀(856) 評論(0)  編輯 收藏 引用 所屬分類: C++基礎(chǔ)

            導(dǎo)航

            <2010年7月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            統(tǒng)計

            留言簿(6)

            隨筆分類(109)

            隨筆檔案(105)

            Blogers

            Game

            Life

            NodeJs

            Python

            Useful Webs

            大牛

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            无码日韩人妻精品久久蜜桃| 久久精品国产亚洲AV不卡| 国产成人久久激情91| 国内精品久久久人妻中文字幕| 东京热TOKYO综合久久精品| 狠狠色综合久久久久尤物| 精品综合久久久久久88小说| 久久精品国产免费观看三人同眠| 午夜不卡久久精品无码免费| 成人午夜精品久久久久久久小说| 青青草原综合久久大伊人导航| 久久综合狠狠综合久久综合88 | 国内精品伊人久久久久av一坑| 精品久久久久久国产免费了| 亚洲乱码中文字幕久久孕妇黑人| 九九热久久免费视频| 欧美丰满熟妇BBB久久久| 深夜久久AAAAA级毛片免费看| av午夜福利一片免费看久久| 久久精品人人做人人爽电影| 久久久久亚洲精品男人的天堂| 97久久超碰国产精品2021| 久久人妻AV中文字幕| 久久久黄片| 久久本道综合久久伊人| 久久久精品免费国产四虎| 久久综合亚洲欧美成人| 亚洲精品无码久久一线| 精品国产乱码久久久久软件| 欧美粉嫩小泬久久久久久久| 久久精品国产99久久香蕉| 久久夜色精品国产亚洲| 中文字幕一区二区三区久久网站| 国产精品久久久久AV福利动漫| 久久亚洲精品成人AV| 久久夜色精品国产网站| 奇米影视7777久久精品| 青青草原精品99久久精品66| 99久久99久久| 久久国产免费观看精品| 色综合久久综精品|