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

首頁 > 學院 > 開發設計 > 正文

C++面向對象高級編程(上)_Boolan(W1)

2019-11-14 10:29:08
字體:
來源:轉載
供稿:網友
                                                  C++構造函數,操作符重載,傳參數筆記1、C++是支持面向對象觀念的一種語言    主要概念:類、對象、繼承、動態綁定、多態性、消息傳遞2、C++演化C++98(1.0)初具國際規范C++03(TR1,Technical Report1)C++11(2.0)C++143、C++分為C++語言和C++標準庫兩個部分4、C vs C++   C++通過類將事物的數據和函數封裝在一起,數據只有專屬類可使用,類似C里面的Struct結構,但C++提供更多的關鍵字供開發人員使用。5、Classes的經典分類:不帶指針的類(Object Based——基于對象)與帶指針的類(Object Oriented——面向對象)   Object Based:面向的是單一class的設計   Object Oriented:面向的是多重classes的設計,classes和classes之間的關系6、文件包含#include    <>標準庫路徑尋找頭文件   “”當前項目路徑下尋找頭文件7、頭文件中的預衛式聲明   #ifndef _COMPLEX_   #define _COMPLEX_   ...   ...      #endif   如果沒有定義COMPLEX,則定義COMPLEX,第二次引用COMPLEX已定義過不會進入主體就不會有第二次include含入的動作8、模板(實現不同類型實現統一的處理)   template<typename T>   用的時候指定數據類型   complex<double> c1(2.5, 1,5);   complex<int> c2(2, 6);9、inline(內聯)函數:函數在本體定義,函數太復雜不能生成inline,由編譯器決定,類似于宏,區別于宏有宏的特性沒有宏的缺點,不再本體內定義可以加inline關鍵字定義為inline函數。10、數據盡量定義為PRivate,對外接口函數定義為public,若提供給內部使用函數可定義為private。11、構造函數    類創建對象自動調用默認構造函數。   構造函數初始化列表賦值方式與構造函數體內賦值的區別:構造函數體內賦值放棄了初始化階段,結果一樣,過程不同,效率上初始化列表賦值方式比較快。   Note:一個變量數值的設定有兩個階段一個是初始化,一個賦值。   構造函數可以有很多個(重載:同名不同參數的函數),構造函數經常重載,寫構造函數避免二義性。   如果構造函數放在private則不可被外界調用,不允許被外界創建對象,設計模式可把構造函數定義在private(singleton/單例/單體/外界只能用一份)。12、析構函數(不帶指針的類多半不用寫析構函數)13、函數后頭是否加const     獲取數據不改變數據加const,改變數據不加const,    若不改變數據不加const的可能造成編譯器無法通過。14、參數傳遞(傳值,傳引用)    盡量所有的參數傳引用(效率比較快),傳引用加const表示引用值不可更改, 返回值如果可能的話盡量傳引用。    Note:不能傳/返回臨時變量的引用15、friend(友元)可直接調用類的private數據,如果通過函數獲取數據效率相較會慢一點。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、操作符重載之一,成員函數    所有的成員函數都帶有一個隱藏的this指針,函數沒有定義class名稱表示全局作用域函數。17、操作符重載之二,非成員函數    非成員函數,不可返回引用,因為,引用返回的必定是個local object,全局函數沒有this指針。    Note: this指針由編譯系統自動創建,用它來指向當前被調用函數對象。this地址值就是對象的首地址,并且該對象是系統當前被調用的對象18、temp object(臨時對象) 創建臨時對象格式:typename();19、<<操作符重載函數建議全局定義
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德州市| 阿拉尔市| 四会市| 莎车县| 民权县| 拉孜县| 隆昌县| 宜章县| 潞西市| 西丰县| 苍溪县| 吴川市| 家居| 卓尼县| 鄯善县| 连州市| 光泽县| 阿拉善右旗| 汉中市| 芜湖市| 西昌市| 额尔古纳市| 金门县| 历史| 五指山市| 和顺县| 石城县| 崇州市| 富民县| 修文县| 博爱县| 文登市| 铜陵市| 休宁县| 东至县| 田东县| 北票市| 瑞昌市| 思茅市| 夏邑县| 二连浩特市|