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

            C++ Primer 學(xué)習(xí)筆記三

            A.     使用類:

            1.  重載操作符的格式為:operator op(argument-list) 其中,op是將要重載的操作符,它必須是有效的c++操作符。比如operator[]() 函數(shù)重載[]數(shù)組索引操作符。

            2.  c++對(duì)用戶定義的操作符重載的限制:a.重載后的操作符必須至少有一個(gè)操作數(shù)是用戶定義的類型。  b.使用操作符時(shí)不能違反操作符原來的句法規(guī)則。 c.不能定義新的操作符。 d.不能重載的操作符:sizeof、.、::、?:、typeid、const_cast、dynamic_cast、reinterpret_cast、static_cast. 下面的操作符只能通過成員函數(shù)進(jìn)行重載:=、()、[]、->

            3.  不要返回指向局部變量或臨時(shí)對(duì)象的引用!因?yàn)楹瘮?shù)執(zhí)行完畢后,局部變量和臨時(shí)變量將消失,引用將指向不存在的數(shù)據(jù)。

            B.     類和動(dòng)態(tài)內(nèi)存分配:

            1.  靜態(tài)類成員:無論創(chuàng)建了多少對(duì)象,程序都只創(chuàng)建一個(gè)靜態(tài)類變量副本。也就是說,類的所有對(duì)象共享同一個(gè)靜態(tài)成員。不能在類聲明中初始化靜態(tài)成員變量,這是因?yàn)槁暶髅枋隽巳绾畏峙鋬?nèi)存,并不分配內(nèi)存。例外是,靜態(tài)數(shù)據(jù)成員為整型或者枚舉型const。

            2.  StringBad sailor=sports; //用已知類對(duì)一個(gè)聲明類賦值,其實(shí)質(zhì)是調(diào)用了復(fù)制構(gòu)造函數(shù)StringBad(const StringBad&);

            3.  c++自動(dòng)提供的成員函數(shù):a.默認(rèn)構(gòu)造函數(shù),如果沒有定義構(gòu)造函數(shù)。  b.復(fù)制構(gòu)造函數(shù),如果沒有定義。c.賦值操作符 Class_name& operator=(const Class_name&);  d.默認(rèn)析構(gòu)函數(shù); e.地址操作符。Empty* operator&(); 

            4.  當(dāng)函數(shù)傳值傳遞對(duì)象或函數(shù)返回對(duì)象時(shí),使用復(fù)制構(gòu)造函數(shù)。隱式地復(fù)制構(gòu)造函數(shù)是按值進(jìn)行復(fù)制的,所以當(dāng)類成員中有數(shù)組時(shí),就會(huì)出現(xiàn)錯(cuò)誤,因?yàn)椴皇菑?fù)制的數(shù)組,而是復(fù)制的數(shù)組指針。析構(gòu)的時(shí)候就會(huì)出錯(cuò),會(huì)delete2次同一指針。

            5.  將一個(gè)已有的對(duì)象賦給另外一個(gè)對(duì)象時(shí),將使用重載的賦值操作符,初始化時(shí),不一定會(huì)使用賦值操作符,因?yàn)榭赡苷{(diào)用復(fù)制構(gòu)造函數(shù)。它的隱式實(shí)現(xiàn)也是對(duì)成員進(jìn)行逐個(gè)復(fù)制!重新定義時(shí),避免將對(duì)象賦給自身。

            6.  靜態(tài)類成員函數(shù):不能通過對(duì)象調(diào)用靜態(tài)成員函數(shù),是public時(shí),可以通過類名和作用域解析操作符進(jìn)行調(diào)用; 靜態(tài)成員函數(shù)由于不與特定的對(duì)象關(guān)聯(lián),只能使用靜態(tài)數(shù)據(jù)成員。

            7.  如果方法或函數(shù)要返回局部對(duì)象,則應(yīng)返回對(duì)象,而不是指向?qū)ο蟮囊谩T谶@種情況下,將使用復(fù)制構(gòu)造函數(shù)來生成返回的對(duì)象。如果方法或函數(shù)要返回一個(gè)沒有公有復(fù)制構(gòu)造函數(shù)的類(如ostream)的對(duì)象,它必須返回一個(gè)指向這種對(duì)象的引用!!

            8.  delete可與常規(guī)new操作符配合使用,但是不能與布局new操作符配合使用。

            posted on 2008-03-11 13:49 弱水一瓢 閱讀(184) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C++ Primer

            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            導(dǎo)航

            統(tǒng)計(jì)

            文章分類

            最新評(píng)論

            久久人妻少妇嫩草AV蜜桃| 99久久久精品| 久久青青草原精品国产软件| 亚洲欧美一级久久精品| 亚洲中文字幕无码久久2017 | 狠狠久久综合伊人不卡| 久久精品国产一区二区| 久久精品国产99国产精品亚洲| 精品无码久久久久久尤物| 久久国产成人午夜AV影院| 久久亚洲sm情趣捆绑调教| 久久精品9988| 午夜天堂精品久久久久| 久久精品国产一区二区 | 色青青草原桃花久久综合| 亚洲女久久久噜噜噜熟女| 久久伊人中文无码| 久久se精品一区二区| 久久精品国产亚洲av麻豆图片| 久久这里只精品国产99热| 久久综合噜噜激激的五月天| 久久国产影院| 国产精品VIDEOSSEX久久发布| 蜜臀久久99精品久久久久久小说 | 亚洲午夜精品久久久久久浪潮| 精品国产乱码久久久久久郑州公司 | 少妇久久久久久久久久| 午夜视频久久久久一区 | 久久久久国产视频电影| 久久午夜电影网| 久久精品www| 国产欧美久久久精品| 久久久久人妻一区精品性色av| 久久香综合精品久久伊人| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 久久国产欧美日韩精品| 亚洲AV日韩AV永久无码久久| 亚洲AV无码久久精品成人| 久久久精品人妻一区二区三区蜜桃| 亚洲中文久久精品无码| 久久亚洲私人国产精品|