国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

C++面向?qū)ο蟾呒壘幊蹋ㄉ?_Boolan(W1)

2019-11-14 10:01:22
字體:
供稿:網(wǎng)友
                                                  C++構(gòu)造函數(shù),操作符重載,傳參數(shù)筆記1、C++是支持面向?qū)ο笥^念的一種語言    主要概念:類、對象、繼承、動態(tài)綁定、多態(tài)性、消息傳遞2、C++演化C++98(1.0)初具國際規(guī)范C++03(TR1,Technical Report1)C++11(2.0)C++143、C++分為C++語言和C++標(biāo)準(zhǔn)庫兩個部分4、C vs C++   C++通過類將事物的數(shù)據(jù)和函數(shù)封裝在一起,數(shù)據(jù)只有專屬類可使用,類似C里面的Struct結(jié)構(gòu),但C++提供更多的關(guān)鍵字供開發(fā)人員使用。5、Classes的經(jīng)典分類:不帶指針的類(Object Based——基于對象)與帶指針的類(Object Oriented——面向?qū)ο螅?nbsp;  Object Based:面向的是單一class的設(shè)計   Object Oriented:面向的是多重classes的設(shè)計,classes和classes之間的關(guān)系6、文件包含#include    <>標(biāo)準(zhǔn)庫路徑尋找頭文件   “”當(dāng)前項目路徑下尋找頭文件7、頭文件中的預(yù)衛(wèi)式聲明   #ifndef _COMPLEX_   #define _COMPLEX_   ...   ...      #endif   如果沒有定義COMPLEX,則定義COMPLEX,第二次引用COMPLEX已定義過不會進入主體就不會有第二次include含入的動作8、模板(實現(xiàn)不同類型實現(xiàn)統(tǒng)一的處理)   template<typename T>   用的時候指定數(shù)據(jù)類型   complex<double> c1(2.5, 1,5);   complex<int> c2(2, 6);9、inline(內(nèi)聯(lián))函數(shù):函數(shù)在本體定義,函數(shù)太復(fù)雜不能生成inline,由編譯器決定,類似于宏,區(qū)別于宏有宏的特性沒有宏的缺點,不再本體內(nèi)定義可以加inline關(guān)鍵字定義為inline函數(shù)。10、數(shù)據(jù)盡量定義為PRivate,對外接口函數(shù)定義為public,若提供給內(nèi)部使用函數(shù)可定義為private。11、構(gòu)造函數(shù)    類創(chuàng)建對象自動調(diào)用默認(rèn)構(gòu)造函數(shù)。   構(gòu)造函數(shù)初始化列表賦值方式與構(gòu)造函數(shù)體內(nèi)賦值的區(qū)別:構(gòu)造函數(shù)體內(nèi)賦值放棄了初始化階段,結(jié)果一樣,過程不同,效率上初始化列表賦值方式比較快。   Note:一個變量數(shù)值的設(shè)定有兩個階段一個是初始化,一個賦值。   構(gòu)造函數(shù)可以有很多個(重載:同名不同參數(shù)的函數(shù)),構(gòu)造函數(shù)經(jīng)常重載,寫構(gòu)造函數(shù)避免二義性。   如果構(gòu)造函數(shù)放在private則不可被外界調(diào)用,不允許被外界創(chuàng)建對象,設(shè)計模式可把構(gòu)造函數(shù)定義在private(singleton/單例/單體/外界只能用一份)。12、析構(gòu)函數(shù)(不帶指針的類多半不用寫析構(gòu)函數(shù))13、函數(shù)后頭是否加const     獲取數(shù)據(jù)不改變數(shù)據(jù)加const,改變數(shù)據(jù)不加const,    若不改變數(shù)據(jù)不加const的可能造成編譯器無法通過。14、參數(shù)傳遞(傳值,傳引用)    盡量所有的參數(shù)傳引用(效率比較快),傳引用加const表示引用值不可更改, 返回值如果可能的話盡量傳引用。    Note:不能傳/返回臨時變量的引用15、friend(友元)可直接調(diào)用類的private數(shù)據(jù),如果通過函數(shù)獲取數(shù)據(jù)效率相較會慢一點。Note: 相同class的各個objects互為friendseg:class complex{public:   complex (double r=0, double i = 0)         : re (r), im(i)   {}   int func(const complex& param)   { return param.re + param.im};private:   double re, im;};使用{    complex c1(2, 1);    complex c2;    c2.func(c1);} 16、操作符重載之一,成員函數(shù)    所有的成員函數(shù)都帶有一個隱藏的this指針,函數(shù)沒有定義class名稱表示全局作用域函數(shù)。17、操作符重載之二,非成員函數(shù)    非成員函數(shù),不可返回引用,因為,引用返回的必定是個local object,全局函數(shù)沒有this指針。    Note: this指針由編譯系統(tǒng)自動創(chuàng)建,用它來指向當(dāng)前被調(diào)用函數(shù)對象。this地址值就是對象的首地址,并且該對象是系統(tǒng)當(dāng)前被調(diào)用的對象18、temp object(臨時對象) 創(chuàng)建臨時對象格式:typename();19、<<操作符重載函數(shù)建議全局定義
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 麻江县| 江陵县| 嘉兴市| 防城港市| 罗定市| 尚义县| 铜陵市| 弥渡县| 二手房| 衡阳市| 徐汇区| 东明县| 威信县| 禹州市| 富平县| 金寨县| 出国| 四平市| 蒙阴县| 沧州市| 和林格尔县| 故城县| 湖南省| 芦溪县| 曲靖市| 阿拉善左旗| 门源| 白城市| 巴彦淖尔市| 阜宁县| 宁晋县| 石景山区| 六枝特区| 溧阳市| 栾城县| 凤凰县| 抚松县| 天祝| 金坛市| 周宁县| 酉阳|