草木有本心,何求美人折。很喜歡這句話。
一、聲明基類的指針,祖先類的指針。
多態(tài)希望希望同一個函數(shù)調(diào)用,可以調(diào)用不同的代碼端呈現(xiàn)不同的狀態(tài)。
使用虛函數(shù)來實現(xiàn)多態(tài),在同名函數(shù)+關(guān)鍵詞virtul。
多態(tài)性是面向?qū)ο蟪绦蛟O(shè)計的第三個重要特征。
多態(tài)性是指發(fā)出同樣的消息被不同類型的對象接收時導(dǎo)致完全不同的行為。
消息——主要指對類的成員函數(shù)的調(diào)用。
二、虛函數(shù)
①使用virtual聲明。
②在派生類中重新定義這個函數(shù),此時函數(shù)的名字、參數(shù)個數(shù)、類型要與基類的虛函數(shù)相同,函數(shù)體根據(jù)派生類要求重新定義。
③定義一個指向基類對象的指針變量,使用時使他指向同一類中的對象。
④基類的指針變量指向的對象的同名函數(shù),就是這個指針變量調(diào)用的虛函數(shù)。
在c++中當(dāng)基類中的一個函數(shù)被定義為虛函數(shù)時,派生類中的同名函數(shù)就會自動的定義為虛函數(shù)。
假如派生類中的虛函數(shù)沒有定義內(nèi)容,那么在調(diào)用它時就會自動的調(diào)用基類中的虛函數(shù)內(nèi)容。
三、vector是標(biāo)準(zhǔn)模板類庫的重要一員??梢匀菁{許多其它類型的相同實體,稱為容器。使用時:#include四種定義方式:(1)vectora(10);(2)vectorb(10,1);(3)vectorc(b);(4)vectord(b.begin(),b.begin()+3);輸出向量中的所有元素:(1)for(int i=0; i::iterator it=a.begin();it!=a.end();++it)cout<<*it;vector::iterator //遍歷器,迭代器(指向容器元素的指針)
向量中的操作都是通過使用成員函數(shù)來完成的:a.clear(); //清空a? ? ? a.push_back(5);//向最后插入一個元素? ? ? a.pop_back();//刪除最后一個元素? ? ? ? a.resize(10,2)//元素的個數(shù)調(diào)整至10個,值為2
四、C++標(biāo)準(zhǔn)程序庫中的string類string name;? 自動處理空間的占用問題。C++字符串并不以’\0’結(jié)尾 .可以用 = 進(jìn)行賦值操作,== 進(jìn)行比較,+ 做串聯(lián).? 使用時#include//注意這里不是string.h
string str1,str2=“abcd”;? ? ? str1=str2;? ? ? ? ? str2=str1+”123”;
下午自己看了一遍自己上課錄的視頻,感覺有學(xué)到了很多包括之前練習(xí)出錯的,也明白為什么錯了,后面幾天我還會繼續(xù)看之前的老師上課的視頻,很有用。
