(GeekBand)第一周筆記

C與C++的不同

C語言是函數(shù)處理數(shù)據(jù)容为,缺點(diǎn)在于沒有提供足夠的關(guān)鍵字而導(dǎo)致數(shù)據(jù)是全局的坎背。這樣會(huì)對(duì)程序有影響寄雀。

C++是面向?qū)ο笳Z言,數(shù)據(jù)和處理這些數(shù)據(jù)的函數(shù)都包在一起懂更,成為class.class幾乎等同于在C所學(xué)過的struct

C++數(shù)據(jù)和函數(shù)

以復(fù)數(shù)為例急膀,complex有實(shí)部和虛部。實(shí)部和虛部為數(shù)據(jù)卓嫂,運(yùn)算符為函數(shù)。數(shù)據(jù)可以有很多分行瑞,函數(shù)只有一份悍募。

string:字符串是一個(gè)指針。

object Based:是沒有指針的(complex)面對(duì)的是單一class的設(shè)計(jì)

object oriented:面對(duì)的是多重classes的設(shè)計(jì)洋魂,classes和classes之間的關(guān)系喜鼓。

基本形式

包括頭文件,主程序庄岖,標(biāo)準(zhǔn)庫

#ifndef?_COMPLEX_????????//防衛(wèi)式聲明,防止重復(fù)include

#define?_COMPLEX_

#include <cmath>? ? ? ? //foward?declarations

? ? class?ostream;

? ? class?complex;

class?complex????????????//class?declarations

{

? ? ...

}

complex:function..????????//class?definition

#endif

模板

如果兩個(gè)函數(shù)體中的其他部分全都一樣就只有返回類型不同時(shí)心剥,重復(fù)定義幾乎完全一樣的函數(shù)體是非常繁瑣且容易出錯(cuò)的。所以C++上就有了模板的概念优烧。

Access level

public:可以被該類中的函數(shù)、子類的函數(shù)又沾、友元函數(shù)熙卡、該類的對(duì)象訪問。

private:只能由該類中的函數(shù)以及友元函數(shù)訪問滑燃。(數(shù)據(jù)封裝喂柒,不想被外界使用的函數(shù)禾嫉。

protect:可以由該類中的函數(shù)、子類的函數(shù)以及友元函數(shù)訪問熙参。

構(gòu)造函數(shù)

名稱一定要與類名稱相等,沒有返回類型

comlex(double?r=0,double?i=0)????????//(double?r=0,double?i=0)為默認(rèn)實(shí)參昭娩。

? ? :re(r),im(i)????????//Initialization?list.

? ? {}

構(gòu)造函數(shù)可以有很多個(gè)--overloading(重載)黍匾,但是上面的構(gòu)造函數(shù)不可以與下面的構(gòu)造函數(shù)同時(shí)出現(xiàn)。

complex()?:re(0),im(0){}

因?yàn)閏omplex c1;調(diào)用時(shí)也可以兩個(gè)都可以調(diào)用磕诊,都直接賦了初始值纹腌。所以編譯器會(huì)報(bào)錯(cuò)。

把構(gòu)造函數(shù)放在private區(qū)里的寫法叫做Singleton

類的成員函數(shù)

類的成員函數(shù)的原型寫在類里莱褒,聲明函數(shù)的參數(shù)表和返回類型。而定義可以在類里也可以在類外广凸。一般都在類的外面。函數(shù)在類里面聲明谅海,在類外部調(diào)用時(shí)應(yīng)該以(類的名稱::函數(shù))來調(diào)用。

成員函數(shù)在操作符重載時(shí)會(huì)有隱藏的this參數(shù)企蹭,如果在類里面聲明了comlex& operator += (const complex&);

則定義時(shí)就可以有this的返回值智末。this這個(gè)函數(shù)就在complex& operator +=(this,const complex&)或者在后面。

inline complex&

complex::operator+=(comst complex& r)

{

? ? return _doapl(this,r);

}

inline

又稱內(nèi)聯(lián)函數(shù)送漠。使用內(nèi)聯(lián)函數(shù)的主要原因是加快運(yùn)行效率由蘑。所有函數(shù)前都可以加inline,但是會(huì)不會(huì)真正成為內(nèi)聯(lián)函數(shù)由編譯器決定尼酿。在函數(shù)定義前加inline只是給編譯器一個(gè)建議。

const

我們希望定義一個(gè)變量涎永,它的值不能被改變鹿响。這時(shí)我們可以用const。

int?re;

int?*const?r=?&re;????????//不能改變r(jià)的值

const?int?re1?=?42????????//不能改變r(jià)e1的值

const?int?*r2=?&re1????????//不能改變r(jià)2的值

不會(huì)改變數(shù)據(jù)內(nèi)容的都要加const

參數(shù)傳遞以及返回都盡量用引用妈倔。如果函數(shù)不用改變引用形參的值绸贡,最好將其聲明為常亮引用const.(關(guān)于引用,根據(jù)個(gè)人理解寫在了博客里恃轩。)

在函數(shù)內(nèi)新創(chuàng)建的,執(zhí)行完畢后數(shù)據(jù)小時(shí)松忍,但傳回應(yīng)用的話筷厘,是一個(gè)空的數(shù)據(jù)宏所。所以這種情況下不能返回引用摊溶。

friend(友元)

private的數(shù)據(jù)除了該類中的函數(shù)之外,友元也可以訪問霞玄。友元就說明是類函數(shù)的朋友拉岁,朋友之間可以共享資源。所以可以自由取得private的數(shù)據(jù)喊暖。

private:

? ? double?re,im;

? ? friend?complex&?_doapl(complex*,?const?complex&);

? ? inline?complex&?_doapl(complex*?ths,?const?complex&?r)

{

? ? ths?->re?+=r.re;????????//可以看見獲取了private里面的數(shù)據(jù)?re與im

? ? ths?->im?+=r.im;

? ? return?*ths;

}

相同class的各個(gè)objects互為友元。

形參與實(shí)參

定義時(shí)的參數(shù)稱為形參狞尔,調(diào)用時(shí)用的參數(shù)稱為實(shí)參巩掺。實(shí)參是形參的初始值。實(shí)參的數(shù)量要與形參相同禽车。每個(gè)形參的類型都要聲明刊殉,即使兩個(gè)類型相同州胳。

void?n(int?a,int?b)??//a和b?就是形參。

{

? ? int?c;

? ? c=a+b;

? ? return?c;

}

int?main()

{

? ? int?sum=n(3,5)????//3和5就是實(shí)參

? ? std::cout<<"3+5="<<sun<<std::endl;

return?0;

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末遍膜,一起剝皮案震驚了整個(gè)濱河市瓢颅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌挽懦,老刑警劉巖木人,帶你破解...
    沈念sama閱讀 216,843評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異渔嚷,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)形病,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門漠吻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人侥猩,你說我怎么就攤上這事∵笕。” “怎么了?”我有些...
    開封第一講書人閱讀 163,187評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵枫弟,是天一觀的道長淡诗。 經(jīng)常有香客問我,道長韩容,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,264評(píng)論 1 292
  • 正文 為了忘掉前任群凶,我火速辦了婚禮请梢,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘毅弧。我一直安慰自己当窗,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,289評(píng)論 6 390
  • 文/花漫 我一把揭開白布咆霜。 她就那樣靜靜地躺著,像睡著了一般蛾坯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上救军,一...
    開封第一講書人閱讀 51,231評(píng)論 1 299
  • 那天倘零,我揣著相機(jī)與錄音,去河邊找鬼拷泽。 笑死,一個(gè)胖子當(dāng)著我的面吹牛司致,可吹牛的內(nèi)容都是我干的聋迎。 我是一名探鬼主播,決...
    沈念sama閱讀 40,116評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼庭再,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼牺堰!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起萌焰,我...
    開封第一講書人閱讀 38,945評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤扒俯,失蹤者是張志新(化名)和其女友劉穎一疯,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體墩邀,經(jīng)...
    沈念sama閱讀 45,367評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,581評(píng)論 2 333
  • 正文 我和宋清朗相戀三年废膘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了慕蔚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,754評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡灌闺,死狀恐怖坏瞄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情鸠匀,我是刑警寧澤,帶...
    沈念sama閱讀 35,458評(píng)論 5 344
  • 正文 年R本政府宣布宅此,位于F島的核電站,受9級(jí)特大地震影響诽凌,放射性物質(zhì)發(fā)生泄漏坦敌。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,068評(píng)論 3 327
  • 文/蒙蒙 一杜顺、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧躬络,春花似錦搭儒、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽汪疮。三九已至,卻和暖如春智嚷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背盏道。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留粹湃,地道東北人泉坐。 一個(gè)月前我還...
    沈念sama閱讀 47,797評(píng)論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像孤钦,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子偏形,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,654評(píng)論 2 354

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