面向對象筆記(一)Boolan

一:

1.C++98郁妈、C++03猩系、C++11、C++14

2.基于對象:單純的只是一個類兆蕉,不與其他類有聯(lián)系

3.面向對象:類與類之間有關系:繼承羽戒、組合、委托

4.類可以簡單分為兩種:帶指針的和不帶指針的(不需要寫析構函數(shù))

帶指針的類的寫法注意:


二:頭文件與類聲明

1.防衛(wèi)式聲明:防止頭文件被多次include虎韵,一定要使用防衛(wèi)式聲明易稠;

2.頭文件:

1)前置聲明:照顧到代碼的編譯順序,使用前置聲明時包蓝,只能使用類的指針或者引用驶社。

為什么?因為前置聲明是一種不完整的聲明测萎,只新類中沒有需要了解原類大小或行為的操作亡电,使用指針或引用時不需要了解原類的大小,

2)類聲明

3)類定義

三:構造函數(shù)

1.直接在類內定義成員函數(shù)硅瞧,會建議編譯器inline份乒;inline函數(shù)必須放在頭文件中定義

2.內聯(lián)函數(shù),就是編譯器將函數(shù)定義({...}之間的內容)在函數(shù)調用處展開腕唧,藉此來免去函數(shù)調用的開銷或辖。

3.成員初值列實際上是調用成員的構造函數(shù),只有構造函可以使用成員初值列枣接。

4.不帶指針成員的類颂暇,并不需要寫析構函數(shù),直接使用編譯器默認給出的析構函數(shù)月腋;如果有指針的話蟀架,需要在析構函數(shù)中delete;

5.重載的函數(shù)編譯時會有命名傾軋瓣赂,在編譯器處理時名稱已不相同

6.構造函數(shù)重載時注意:參數(shù)全部有默認值的構造函數(shù)和無參的構造函數(shù),使用時會出現(xiàn)二義性片拍;

四:參數(shù)傳遞與返回值

1.singleton設計模式中用到:把構造函數(shù)放在private區(qū)域中(只能內部調用構造)煌集;

const

2.修飾函數(shù):函數(shù)分為會改變數(shù)據(jù)內容的和不會改變數(shù)據(jù)內容的,不會改變數(shù)據(jù)內容的函數(shù)一定要用const修飾捌省;

3.修飾常量:const修飾了對象苫纤,這個對象只能調用const修飾的成員函數(shù):因為const修飾對象,則該對象是常量纲缓,內容不可以修改卷拘,如果調用的成員函數(shù)無const修飾,則該函數(shù)默認可以修改該對象內容祝高,這里有矛盾栗弟,所以編譯會不通過。

4.pass by value與pass by reference(優(yōu)) ??return by value(必須返回函數(shù)中臨時創(chuàng)建的對象的時候使用)與return by reference(優(yōu))工闺。一個函數(shù)的返回結果存放在原先已有的對象中乍赫,則return by refenerce,如果放在另外的對象中,則return by value:放在另外的對象中需要產生一個臨時對象保存結果陆蟆,將該臨時對象的值賦值給另外的對象雷厂,如果return by reference,臨時對象的內容會丟失叠殷,雖然語法并沒有錯誤改鲫。

5.修飾參數(shù):盡量所有的參數(shù)都Pass by reference (to const)、返回值都return by reference(to const)

6.Ex: ??Func(const para&)//如果不意圖修改para林束,則用const修飾

7.友元函數(shù):自由獲取對象的private成員

8.相同class的各個對象互為友元像棘,可以直接拿其private成員;即壶冒,類里面的成員函數(shù)讲弄,可以直接使用同一個類的對象的私有成員,相當于成員函數(shù)可以去拿自己類的對象(包括自己和朋友)的成員依痊。

五:操作符重載與臨時對象

1.所有的成員函數(shù)一定帶著一個隱藏的參數(shù):this,在某個位置(編譯器決定)

2.創(chuàng)建臨時對象:typename();臨時對象的生命周期只在使用的哪一行,所以必須立即返回怎披,return typename();返回臨時對象時胸嘁,一定要return by value;

3.操作符重載分為成員函數(shù)重載(作用在左邊,左邊作為操作符重載的隱藏參數(shù))凉逛、全局函數(shù)重載性宏;‘<<’操作符只能全局重載,因為其發(fā)起者為cout状飞;為了能夠連續(xù)輸出毫胜,所以必須返回ostream &;std中的Cout是ostream對象书斜;

4.優(yōu)良的編程習慣:類的數(shù)據(jù)放在private,成員函數(shù)主要放在public;構造函數(shù)使用成員初值列;考慮函數(shù)要不要用const修飾;參數(shù)的傳遞盡可能的pass by reference,同時要考慮需不需要const酵使;函數(shù)返回的時候荐吉,考慮return by value還是return by reference;小的函數(shù)考慮inline,內聯(lián)的成員函數(shù)一定要放在類本體.h文件定義口渔,否則編譯器無法完成替換样屠;

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市缺脉,隨后出現(xiàn)的幾起案子痪欲,更是在濱河造成了極大的恐慌,老刑警劉巖攻礼,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件业踢,死亡現(xiàn)場離奇詭異,居然都是意外死亡礁扮,警方通過查閱死者的電腦和手機知举,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來深员,“玉大人负蠕,你說我怎么就攤上這事【氤” “怎么了遮糖?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長叠赐。 經常有香客問我欲账,道長,這世上最難降的妖魔是什么芭概? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任赛不,我火速辦了婚禮,結果婚禮上罢洲,老公的妹妹穿的比我還像新娘踢故。我一直安慰自己,他們只是感情好惹苗,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布殿较。 她就那樣靜靜地躺著,像睡著了一般桩蓉。 火紅的嫁衣襯著肌膚如雪淋纲。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天院究,我揣著相機與錄音洽瞬,去河邊找鬼本涕。 笑死,一個胖子當著我的面吹牛伙窃,可吹牛的內容都是我干的菩颖。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼对供,長吁一口氣:“原來是場噩夢啊……” “哼位他!你這毒婦竟也來了?” 一聲冷哼從身側響起产场,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤鹅髓,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后京景,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體窿冯,經...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年确徙,在試婚紗的時候發(fā)現(xiàn)自己被綠了醒串。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡鄙皇,死狀恐怖芜赌,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情伴逸,我是刑警寧澤缠沈,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站错蝴,受9級特大地震影響洲愤,放射性物質發(fā)生泄漏。R本人自食惡果不足惜顷锰,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一柬赐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧官紫,春花似錦肛宋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至良狈,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間笨枯,已是汗流浹背薪丁。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工遇西, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人严嗜。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓粱檀,卻偏偏與公主長得像,于是被迫代替她去往敵國和親漫玄。 傳聞我的和親對象是個殘疾皇子茄蚯,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內容

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,516評論 1 51
  • 1. 讓自己習慣C++ 條款01:視C++為一個語言聯(lián)邦 為了更好的理解C++,我們將C++分解為四個主要次語言:...
    Mr希靈閱讀 2,805評論 0 13
  • 在面向對象編程中睦优,類(Class)和對象(Object)是兩個非常重要和基本的概念渗常,類(Class)包含成員數(shù)據(jù)和...
    Sam_Lau閱讀 4,948評論 5 18
  • C++文件 例:從文件income. in中讀入收入直到文件結束,并將收入和稅金輸出到文件tax. out汗盘。 檢查...
    SeanC52111閱讀 2,782評論 0 3
  • (一) 我們去過很多地方皱碘,看到過很多奇妙的景色 這是相冊中我最喜歡的一張照片。在北京奧森公園偶然遇到隐孽,老爺爺在不停...
    深藍HKY閱讀 320評論 2 3