【GeekBand】C++面向?qū)ο蟾呒壘幊躺鲜字芄P記

一.頭文件與類的聲明

1.類的種類

1.1不帶指針的類complex類

object based:面向單一類的設(shè)計(jì)

1.2帶指針的類 ?string類

object oriented:面向多重類的設(shè)計(jì)

2.頭文件

1.防止頭文件被多次包含

使用#ifndef __XX__#define__XX__ (自己定義)#endif 表示如果未定義,則執(zhí)行下一步定義寸宵,

第二次包含時被定義過則跳過下面的內(nèi)容,就可以保證只會被定義一次,該頭文件就不會被包含兩次

3.采用模板減少重復(fù)代碼

template 使用同一份代碼

complex c1(2.5,1.5)

complex c2(2,1)

二、構(gòu)造函數(shù)(constructor ctor)

1.inline function :在class body內(nèi)定義询一,可提高函數(shù)運(yùn)行速度送滞,函數(shù)不可太復(fù)雜

2.訪問級別:public(對象可直接訪問)、private(對象不可直接訪問)

3.構(gòu)造函數(shù)(創(chuàng)建對象時調(diào)用)

3.1 可設(shè)置默認(rèn)實(shí)參

complex(double r = 0,double i = 0)

3.2 列表初始化

complex(double r = 0,double i = 0):re(r),im(i){} 列表初始化 為初始化翰撑,大括號內(nèi)為賦值,初始化效率更高

3.3 無返回值

3.4 構(gòu)造可有多個(重載)

3.5 ctors放在private區(qū)(如singleton設(shè)計(jì)模式)

三啊央、參數(shù)傳遞與返回值

1.常量成員函數(shù):double real()const{return re;}眶诈,作用:a.表示不改變數(shù)據(jù)內(nèi)容 b.可供常量對象調(diào)用,若函數(shù)不加const瓜饥,存在數(shù)據(jù)被修改的風(fēng)險(xiǎn)逝撬,所以常量對象無法調(diào)用

2.pass by value 傳遞整個值,數(shù)據(jù)量大時效率低

3.pass by reference 相當(dāng)于傳指針乓土,效率高宪潮,盡量傳引用,若不希望參數(shù)被修改趣苏,加const

4.return by value 返回函數(shù)內(nèi)部生成的local變量時只能return by value

5.return by reference 可以的情況盡量用return by reference狡相,返回局部變量時,不能使用return by reference

6.friend(友元)函數(shù)?可自由取得友元的private成員食磕,相同class的各個objects互為friends

四尽棕、操作符重載

1.以成員函數(shù)方式重載,所有成員函數(shù)帶有隱含參數(shù)this彬伦,this指向調(diào)用者

2.return by reference分析萄金,傳遞者無需知道接收者是以reference形式接收,重載操作符連串使用時需注意返回值媚朦,如c3 += c2 += c1,后面的結(jié)果在第二次+=時做右值氧敢,因此設(shè)計(jì)時返回值不能為void。

3.以非成員函數(shù)重載询张,區(qū)別孙乖,無this指針,臨時對象不可return by reference

4. ?ostream& operator << (ostream& os, const complex& x)

{

???? return os<< '(' <<real(x)<<','<<imag(x)<<')'<<endl;

}必須是全局函數(shù),參數(shù)1不能加const唯袄,os狀態(tài)會改變弯屈,返回值為ostream,為了可連續(xù)使用恋拷,可return by reference返回值不是local對象

總結(jié):

1.構(gòu)造函數(shù)使用列表初始化资厉;

2.函數(shù)要不要加const;

3.參數(shù)的傳遞盡量考慮pass by reference 且要不要加const蔬顾;

4.return by reference與return by value區(qū)別;

5.數(shù)據(jù)放private宴偿、函數(shù)放public

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市诀豁,隨后出現(xiàn)的幾起案子窄刘,更是在濱河造成了極大的恐慌,老刑警劉巖舷胜,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件娩践,死亡現(xiàn)場離奇詭異,居然都是意外死亡烹骨,警方通過查閱死者的電腦和手機(jī)翻伺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來沮焕,“玉大人穆趴,你說我怎么就攤上這事∮龉” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵簿废,是天一觀的道長空入。 經(jīng)常有香客問我,道長族檬,這世上最難降的妖魔是什么歪赢? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮单料,結(jié)果婚禮上埋凯,老公的妹妹穿的比我還像新娘。我一直安慰自己扫尖,他們只是感情好白对,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著换怖,像睡著了一般甩恼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天条摸,我揣著相機(jī)與錄音悦污,去河邊找鬼。 笑死钉蒲,一個胖子當(dāng)著我的面吹牛切端,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播顷啼,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼踏枣,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了线梗?” 一聲冷哼從身側(cè)響起椰于,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎仪搔,沒想到半個月后瘾婿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡烤咧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年偏陪,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片煮嫌。...
    茶點(diǎn)故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡笛谦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出昌阿,到底是詐尸還是另有隱情饥脑,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布懦冰,位于F島的核電站灶轰,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏刷钢。R本人自食惡果不足惜笋颤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望内地。 院中可真熱鬧伴澄,春花似錦、人聲如沸阱缓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽荆针。三九已至清焕,卻和暖如春并蝗,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背秸妥。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工滚停, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人粥惧。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓键畴,卻偏偏與公主長得像,于是被迫代替她去往敵國和親突雪。 傳聞我的和親對象是個殘疾皇子起惕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容