9.20 C++ 總結(jié)

1.多態(tài)性的概念

多態(tài)性是面向?qū)ο蟪绦蛟O(shè)計(jì)的第三個(gè)重要特征死姚。

多態(tài)性是指發(fā)出同樣的消息被不同類型的對象接收時(shí)導(dǎo)致完全不同的行為掂为。

消息——主要指對類的成員函數(shù)的調(diào)用础锐。

2.虛函數(shù)的使用方法:

(1)在基類用virtual聲明成員函數(shù)為虛函數(shù)

(2)在派生類中重新定義此函數(shù)瞭郑,要求函數(shù)名胳徽、函數(shù)的參數(shù)個(gè)數(shù)和類型全部與基類的虛函數(shù)相同婿屹,并根據(jù)派生類的需要重新定義函數(shù)體。

(3)定義一個(gè)指向基類對象的指針變量推溃,并使它指向同一類族中的某一對象昂利。

(4)通過該指針變量調(diào)用此虛函數(shù),此時(shí)調(diào)用的就是指針變量指向的對象的同名函數(shù)铁坎。

c++規(guī)定蜂奸,當(dāng)一個(gè)成員函數(shù)被聲明為虛函數(shù)后,其派生類中原型相同的函數(shù)都自動(dòng)成為虛函數(shù)

派生類沒有對基類的虛函數(shù)重新定義硬萍,則派生類繼承其直接基類的虛函數(shù)

?

?

3.vector

是c++STL(標(biāo)準(zhǔn)模板類庫)的重要一員扩所。可以容納許多其它類型的相同實(shí)體朴乖,稱為容器祖屏。

使用時(shí):#include<vector>

四種定義方式:

(1)vector<int>a(10);

(2)vector<int>b(10,1);

(3)vector<int>c(b);

(4)vector<int>d(b.begin(),b.begin()+3);

輸出向量中的所有元素:

(1)for(int i=0; i<a.size(); ++i)

? cout<<a[i];

(2)for (vector<int>::iterator it=a.begin();it!=a.end();++it)

cout<<*it;

vector<int>::iterator //遍歷器助赞,迭代器(指向容器元素的指針)

向量中的操作都是通過使用成員函數(shù)來完成的:

a.clear(); //清空a

a.push_back(5);//向最后插入一個(gè)元素

a.pop_back();//刪除最后一個(gè)元素

a.resize(10,2)//元素的個(gè)數(shù)調(diào)整至10個(gè)袁勺,值為2

?

?

?

?

4.C++標(biāo)準(zhǔn)程序庫中的string

string name;?

自動(dòng)處理空間的占用問題雹食。C++字符串并不以’\0’結(jié)尾 .

可以用 = 進(jìn)行賦值操作,== 進(jìn)行比較期丰,+ 做串聯(lián).

使用時(shí)#include <string> //注意這里不是string.h

string str1,str2=“abcd”;

?str1=str2;

?str2=str1+”123”;

?cout<<str2<<" "<<str2.length()<<" "<<str2.insert(0,"8");

由C++字符串得到對應(yīng)的C_string的方法是使用data()群叶、c_str()

data()以字符數(shù)組的形式返回字符串內(nèi)容,但并不添加’\0’钝荡。

char s[20];strcpy(s,str1.data());

c_str()返回一個(gè)以‘\0’結(jié)尾的字符數(shù)組街立,strcpy(s,str2.c_str());

?

5.虛函數(shù)的實(shí)用意義:
從基類繼承來的某些成員函數(shù)不完全適應(yīng)派生類的需要,允許其派生類中對該函數(shù)重新定義埠通,賦予它新的功能赎离,當(dāng)基類的這些成員函數(shù)聲明為虛函數(shù)后,可以通過指向其基類的指針指向同一類族中不同類的對象植阴,從而調(diào)用其同名的函數(shù)蟹瘾。
由虛函數(shù)實(shí)現(xiàn)的多態(tài)性是:同一類族中不同類的對象,對同一函數(shù)調(diào)用作出不同的響應(yīng)掠手。

是追求用指針管理繼承體系對象的結(jié)果憾朴。
多態(tài)性使得應(yīng)用程序使用類體系中的不同層次對象,并使這些對象共存的復(fù)雜局面達(dá)到了一種可管理的境界.
程序員從使用孤立的類,到使用分層的類喷鸽,并且讓各種對象“同場競技”,充分展現(xiàn)其個(gè)性.
不支持多態(tài)的語言不能稱為面向?qū)ο蟮恼Z言众雷。

?

6.多態(tài)的實(shí)現(xiàn)

聯(lián)編(編聯(lián)、束定做祝、綁定)(binding):就是把一個(gè)標(biāo)識(shí)符名和一個(gè)存儲(chǔ)地址聯(lián)系在一起的過程砾省。將一個(gè)函數(shù)調(diào)用鏈接上相應(yīng)于函數(shù)體的代碼,這一過程就是函數(shù)聯(lián)編混槐。

??

???????????? 靜態(tài)聯(lián)編:出現(xiàn)在運(yùn)行前的聯(lián)編(在編譯時(shí)完成)编兄,也稱為早期聯(lián)編。

?? 動(dòng)態(tài)聯(lián)編:聯(lián)編工作在程序運(yùn)行階段完成的情況声登。在編譯狠鸳、連接過程中無法解決的聯(lián)編問題,要等到程序開始運(yùn)行之后再來確定悯嗓。

?? 也稱為滯后聯(lián)編件舵。

?

?

7.虛函數(shù)的工作機(jī)理

Virtual出現(xiàn)則每個(gè)類增加一個(gè)虛函數(shù)表保存類的虛函數(shù)

凡有虛函數(shù)的類均維護(hù)一個(gè)虛函數(shù)表

實(shí)例化每個(gè)對象中會(huì)增加一個(gè)指針指向虛函數(shù)表(對象大小會(huì)有變化).

虛函數(shù)調(diào)用時(shí)不需要確定對象類型,通過該指針即可找到所要鏈接函數(shù)

?

?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末脯厨,一起剝皮案震驚了整個(gè)濱河市铅祸,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌合武,老刑警劉巖临梗,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涡扼,死亡現(xiàn)場離奇詭異,居然都是意外死亡夜焦,警方通過查閱死者的電腦和手機(jī)壳澳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來茫经,“玉大人巷波,你說我怎么就攤上這事⌒渡。” “怎么了抹镊?”我有些...
    開封第一講書人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長荤傲。 經(jīng)常有香客問我垮耳,道長,這世上最難降的妖魔是什么遂黍? 我笑而不...
    開封第一講書人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任终佛,我火速辦了婚禮,結(jié)果婚禮上雾家,老公的妹妹穿的比我還像新娘铃彰。我一直安慰自己,他們只是感情好芯咧,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開白布牙捉。 她就那樣靜靜地躺著,像睡著了一般敬飒。 火紅的嫁衣襯著肌膚如雪邪铲。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評(píng)論 1 305
  • 那天无拗,我揣著相機(jī)與錄音带到,去河邊找鬼。 笑死英染,一個(gè)胖子當(dāng)著我的面吹牛阴孟,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播税迷,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼锹漱!你這毒婦竟也來了箭养?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬榮一對情侶失蹤哥牍,失蹤者是張志新(化名)和其女友劉穎毕泌,沒想到半個(gè)月后喝检,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡撼泛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年挠说,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片愿题。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡损俭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出潘酗,到底是詐尸還是另有隱情杆兵,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布仔夺,位于F島的核電站琐脏,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏缸兔。R本人自食惡果不足惜日裙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望惰蜜。 院中可真熱鬧昂拂,春花似錦、人聲如沸蝎抽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽樟结。三九已至养交,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瓢宦,已是汗流浹背碎连。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留驮履,地道東北人鱼辙。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像玫镐,于是被迫代替她去往敵國和親倒戏。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

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