a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 學院 > 開發(fā)設計 > 正文

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

2019-11-14 10:01:22
字體:
來源:轉載
供稿:網(wǎng)友
                                                  C++構造函數(shù),操作符重載,傳參數(shù)筆記1、C++是支持面向對象觀念的一種語言    主要概念:類、對象、繼承、動態(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++標準庫兩個部分4、C vs C++   C++通過類將事物的數(shù)據(jù)和函數(shù)封裝在一起,數(shù)據(jù)只有專屬類可使用,類似C里面的Struct結構,但C++提供更多的關鍵字供開發(fā)人員使用。5、Classes的經典分類:不帶指針的類(Object Based——基于對象)與帶指針的類(Object Oriented——面向對象)   Object Based:面向的是單一class的設計   Object Oriented:面向的是多重classes的設計,classes和classes之間的關系6、文件包含#include    <>標準庫路徑尋找頭文件   “”當前項目路徑下尋找頭文件7、頭文件中的預衛(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(內聯(lián))函數(shù):函數(shù)在本體定義,函數(shù)太復雜不能生成inline,由編譯器決定,類似于宏,區(qū)別于宏有宏的特性沒有宏的缺點,不再本體內定義可以加inline關鍵字定義為inline函數(shù)。10、數(shù)據(jù)盡量定義為PRivate,對外接口函數(shù)定義為public,若提供給內部使用函數(shù)可定義為private。11、構造函數(shù)    類創(chuàng)建對象自動調用默認構造函數(shù)。   構造函數(shù)初始化列表賦值方式與構造函數(shù)體內賦值的區(qū)別:構造函數(shù)體內賦值放棄了初始化階段,結果一樣,過程不同,效率上初始化列表賦值方式比較快。   Note:一個變量數(shù)值的設定有兩個階段一個是初始化,一個賦值。   構造函數(shù)可以有很多個(重載:同名不同參數(shù)的函數(shù)),構造函數(shù)經常重載,寫構造函數(shù)避免二義性。   如果構造函數(shù)放在private則不可被外界調用,不允許被外界創(chuàng)建對象,設計模式可把構造函數(shù)定義在private(singleton/單例/單體/外界只能用一份)。12、析構函數(shù)(不帶指針的類多半不用寫析構函數(shù))13、函數(shù)后頭是否加const     獲取數(shù)據(jù)不改變數(shù)據(jù)加const,改變數(shù)據(jù)不加const,    若不改變數(shù)據(jù)不加const的可能造成編譯器無法通過。14、參數(shù)傳遞(傳值,傳引用)    盡量所有的參數(shù)傳引用(效率比較快),傳引用加const表示引用值不可更改, 返回值如果可能的話盡量傳引用。    Note:不能傳/返回臨時變量的引用15、friend(友元)可直接調用類的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)建,用它來指向當前被調用函數(shù)對象。this地址值就是對象的首地址,并且該對象是系統(tǒng)當前被調用的對象18、temp object(臨時對象) 創(chuàng)建臨時對象格式:typename();19、<<操作符重載函數(shù)建議全局定義
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 99re6在线视频精品免费 | 99热首页 | 青草视频在线免费观看 | 在线免费一级片 | 中文字幕一区二区三区乱码图片 | 在线视频一二三 | 亚洲福利片 | 精品福利在线 | 伊人青青操 | 国产97久久 | 午夜影院免费视频 | 亚洲影视一区二区 | 高清视频一区 | 亚洲最大的黄色网 | 日韩免费在线观看视频 | 精品一区二区三区三区 | 一区二区三区四区av | 成人看的羞羞视频免费观看 | 国产高清在线 | 四虎最新网址 | 欧洲另类在线1 | 毛片av网址| 国产精品欧美日韩在线观看 | 国产成人精品一区二区三区网站观看 | 爱爱视频在线免费观看 | 狠狠综合 | 国产一区二区三区四区在线观看 | 国产亚洲欧美一区 | 91精品国产91综合久久蜜臀 | 日韩毛片免费在线观看 | 亚洲欧美国产一区二区三区 | 国产一区二区三区久久 | 国产精品欧美综合 | 久在线视频| 欧美精品一区二 | 99久久日韩精品视频免费在线观看 | 国产日韩欧美在线 | 亚洲精品久久久久 | 国产一区二区三区四区在线观看 | 最近免费中文字幕在线视频2 | 九九热re |