freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第八章多態(tài)性-全文預(yù)覽

  

【正文】 在這里友元函數(shù)可以有兩個(gè)參數(shù) , 而對(duì)應(yīng)的成員函數(shù)只有一個(gè)參數(shù) , 所以友元函數(shù)的使用可以更靈活 、 更方便 。 因?yàn)橛卸x的 缺省的構(gòu)造函數(shù) ,實(shí)數(shù)會(huì)被 強(qiáng)制轉(zhuǎn)換 為虛部為零的復(fù)數(shù)。 friend Complex operator + (Complex , double ) 。 35 plex operator +(plex c1,plex c2) //運(yùn)算符重載友元函數(shù)實(shí)現(xiàn) { return plex(+, +)。 //運(yùn)算符 重載為友元函數(shù) void display()。 class plex //復(fù)數(shù)類(lèi)聲明 { public: //外部接口 plex(double r=,double i=) { real=r。 ? 后置單目運(yùn)算符 ++和 的重載函數(shù),形參列表中要增加一個(gè) int,但不必寫(xiě)形參名。前置“ ++”格式為: 返回類(lèi)型 類(lèi)名 ::operator++(){……} 而后置“ ++”格式為: 返回類(lèi)型 類(lèi)名 ::operator++(int){……} 后置“ ++”中的參數(shù) int僅用作 區(qū)分 ,并無(wú)實(shí)際意義,可以給一個(gè)變量名,也可以不給變量名。 2. 當(dāng)用類(lèi)的成員函數(shù)實(shí)現(xiàn)運(yùn)算符的重載時(shí) , 運(yùn)算符重載函數(shù)的參數(shù) ( 當(dāng)為雙目運(yùn)算符時(shí) ) 為一個(gè)或 ( 當(dāng)為單目運(yùn)算符時(shí) ) 沒(méi)有 。 coutShow ++myClock:。 coutFirst time output:。 ++(*this)。 } 26 可以省去構(gòu)造新的對(duì)象的資源和時(shí)間的消耗,提高效率。 if(Minute=60) { Minute=Minute60。 25 Clockamp。 operator ++()。 運(yùn)算符重載 // includeiostream using namespace std。 –經(jīng)重載后,表達(dá)式 oprd++ 相當(dāng)于 ++(0) 運(yùn)算符重載 C++語(yǔ)言程序設(shè)計(jì) 24 例 82 ? 運(yùn)算符前置 ++和后置 ++重載為時(shí)鐘類(lèi)的成員函數(shù)。 image += 。因?yàn)?缺省的賦值操作返回一個(gè)復(fù)數(shù)的引用,所以它可以進(jìn)行連續(xù)賦值 如: a=b=c=d 。 c){ real = 。 ? 采用引用為參數(shù)時(shí),從理論上講實(shí)參必須為左值 ,不能為表達(dá)式,如 【 例 】 中 c=c+d是正確的,但 c=c+, ,但在這種情況下 VC++允許。 程序輸出的結(jié)果為: c1=(5,4) c2=(2,10) c3=c1c2=(3,6) c3=c1+c2=(7,14) 18 C++語(yǔ)言程序設(shè)計(jì) 19 ? 使用引用類(lèi)型變量作為運(yùn)算符重載函數(shù)的參數(shù),可以提高復(fù)數(shù)類(lèi)型運(yùn)算的效率。 c3=c1+c2。 ()。 } int main() //主函數(shù) { plex c1(5,4),c2(2,10),c3。 =。 =+real。 //輸出復(fù)數(shù) private: //私有數(shù)據(jù)成員 double real。imag=i。 ? 規(guī)則 : –實(shí)部和虛部分別相加減。 因函數(shù)名的特殊性, C++編譯器可以將這類(lèi)函數(shù)識(shí)別出來(lái) 。 ? 經(jīng)重載的運(yùn)算符,其操作數(shù)中至少應(yīng)該有一個(gè)是自定義類(lèi)型。 – 編譯系統(tǒng)對(duì)重載運(yùn)算符的選擇,遵循函數(shù)重載的選擇原則。 //顯示復(fù)數(shù)的值 private: double real。 ? 多態(tài)的實(shí)現(xiàn): –函數(shù)重載 –運(yùn)算符重載 –虛函數(shù) C++語(yǔ)言程序設(shè)計(jì) 4 C++中沒(méi)有復(fù)數(shù)類(lèi)型,我們可以自己來(lái)定義一個(gè)復(fù)數(shù)類(lèi)( class),同樣可以用+、 、 *、 /來(lái)進(jìn)行復(fù)數(shù)的算術(shù)運(yùn)算。 ? 多態(tài)性是指發(fā)出同樣的消息被不同類(lèi)型的對(duì)象接收時(shí)有可能導(dǎo)致完全不同的行為。 } void display()。 運(yùn)算符重載 C++語(yǔ)言程序設(shè)計(jì) 6 問(wèn)題舉例 ——復(fù)數(shù)的運(yùn)算 ? 用“ +”、“ ”能夠?qū)崿F(xiàn)復(fù)數(shù)的加減運(yùn)算嗎? ? 實(shí)現(xiàn)復(fù)數(shù)加減運(yùn)算的方法 ——重載“ +”、“ ”運(yùn)算符 運(yùn)算符重載 C++語(yǔ)言程序設(shè)計(jì) 7 運(yùn)算符重載的實(shí)質(zhì) ? 運(yùn)算符重載是對(duì)已有的運(yùn)算符賦予多重含義 ? 必要性 – C++中預(yù)定義的運(yùn)算符其運(yùn)算對(duì)象只能是基本數(shù)據(jù)類(lèi)型,而不適用于用戶(hù)自定義類(lèi)型(如類(lèi)) ? 實(shí)現(xiàn)機(jī)制 – 將指定的運(yùn)算表達(dá)式轉(zhuǎn)化為對(duì)運(yùn)算符函數(shù)的調(diào)用,運(yùn)算對(duì)象轉(zhuǎn)化為運(yùn)算符函數(shù)的實(shí)參。 ? 不能改變操作數(shù)個(gè)數(shù)。 運(yùn)算符重載 C++語(yǔ)言程序設(shè)計(jì) 11 運(yùn)算符函數(shù) ? 聲明形式 函數(shù)類(lèi)型 operator 運(yùn)算符(形參) { ......} operator是關(guān)鍵字,它與重載的運(yùn)算符一起構(gòu)成函數(shù)名。 –經(jīng)重載后,表達(dá)式 oprd1 B oprd2 相當(dāng)于 B(oprd2) 運(yùn)算符重載 C++語(yǔ)言程序設(shè)計(jì) 13 運(yùn)算符重載 例 81 將 “ +” 、“ ” 運(yùn)算重載為復(fù)數(shù)類(lèi)的成員函數(shù)。 class plex //復(fù)數(shù)類(lèi)聲明 { public: //外部接口 plex(double r=,double i=){real=r。 //重載為成員函數(shù) void display()。 14 plex plex:: operator +(plex c2) //重載函數(shù)實(shí)現(xiàn) { plex c。 } 15 plex plex:: operator (plex c2) //重載函數(shù)實(shí)現(xiàn) { plex c。 } 16 void plex::display()
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1