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

正文內(nèi)容

第八章多態(tài)性-wenkub

2022-08-29 13:22:19 本頁面
 

【正文】 ++ 編譯器為每個類生成一個缺省的賦值操作,用于同類的兩個對象之間的相互賦值,缺省的語義是類成員逐個相互賦值。復(fù)數(shù)與復(fù)數(shù)相加的 Operator+成員函數(shù)的 最終形式 : ? Complex plex::operator+ ? (const plex amp。 //使用重載運算符完成復(fù)數(shù)加法 coutc3=c1+c2=。 c3=c1c2。 //聲明復(fù)數(shù)類的對象 coutc1=。 =。 =+imag。 //復(fù)數(shù)實部 double imag。} //構(gòu)造函數(shù) plex operator + (plex c2)。 ? 操作數(shù) : – 兩個操作數(shù)都是復(fù)數(shù)類的對象。 ? 重載為類成員函數(shù)時 參數(shù)個數(shù) =原操作數(shù)個數(shù) 1 (后置 ++、 除外) ? 重載為友元函數(shù)時 參數(shù)個數(shù) =原操作數(shù)個數(shù),且至少應(yīng)該有一個自定義類型的形參。 C++語言程序設(shè)計 9 不能重載的運算符 運算符 運算符名稱 禁止重載的理由 ? : 三目條件運算符 C++中沒有定義三目運算符的語法 . 成員操作符 為保證成員操作符對成員訪問的安全性 :: 作用域操作符 該操作符右操作數(shù)不是表達(dá)式 sizeof 類型字長操作符 該操作符的操作數(shù)為類型名 , 不是表達(dá)式 表 ++中不允許重載的運算符 C++語言程序設(shè)計 10 兩種形式 ? 重載為類成員函數(shù)。 運算符重載 C++語言程序設(shè)計 8 運算符重載 規(guī)則和限制 ? 可以重載 C++中除下列運算符外的所有運算符: . .* :: ?: ? 只能重載 C++語言中已有的運算符,不可臆造新的。 double imag。 C++語言程序設(shè)計 5 問題舉例 ——復(fù)數(shù)的運算 class plex //復(fù)數(shù)類聲明 { public: plex(double r=,double i=) //構(gòu)造函數(shù) { real=r。C++語言程序設(shè)計 1 第八章 多態(tài)性 C++語言程序設(shè)計 C++語言程序設(shè)計 2 本章主要內(nèi)容 ? 多態(tài)性 ? 運算符重載 ? 虛函數(shù) ? 純虛函數(shù) ? 抽象類 C++語言程序設(shè)計 3 多態(tài)性的概念 ? 多態(tài)性是面向?qū)ο蟪绦蛟O(shè)計的重要特征之一。 imag=i。 }。 ? 不改變原運算符的優(yōu)先級和結(jié)合性。 ? 重載為非成員函數(shù)(通常為友元函數(shù))。 運算符重載 C++語言程序設(shè)計 12 運算符成員函數(shù)的設(shè)計 ? 雙目運算符 B –如果要重載 B 為類成員函數(shù),使之能夠?qū)崿F(xiàn)表達(dá)式 oprd1 B oprd2,其中 oprd1 為 A 類對象,則 B 應(yīng)被重載為 A 類的成員函數(shù),形參類型應(yīng)該是 oprd2 所屬的類型。 includeiostream using namespace std。 //+重載為成員函數(shù) plex operator (plex c2)。 //復(fù)數(shù)虛部 }。 return plex(,)。 return plex(,)。 ()。 //使用重載運算符完成復(fù)數(shù)減法 coutc3=c1c2=。 ()。c) ? 這里采用 plex對象的 引用 而不是對象本身,調(diào)用時不再重新分配內(nèi)存建立一個復(fù)制的對象,函數(shù)效率會更高。對復(fù)數(shù)類 plex 如果沒有重載賦值運算符 =,復(fù)數(shù)的賦值語義是: Complex amp。 } 這種缺省的賦值操作格式對所有類是固定的,這種缺省的格式對復(fù)數(shù)是合適的,但對其他類缺省的賦值可能產(chǎn)生問題,那時需重載。 Complex::operator += (Complex amp。 } C++語言程序設(shè)計 22 運算符成員函數(shù)的設(shè)計 ? 前置單目運算符 U –如果要重載 U 為類成員函數(shù),使之能夠?qū)崿F(xiàn)表達(dá)式 U oprd,其中 oprd 為 A類對象,則 U 應(yīng)被重載為 A 類的成員函數(shù),無形參。 ? 操作數(shù)是時鐘類的對象。 void ShowTime()。 //后置單目運算符重載 private: //私有數(shù)據(jù)成員 int Hour,Minute,Second。 if(Second=60) { Second=Second60。 Hour=Hour%24。 就是在操作的這個對象。 } 27 后置“ ++”中的參數(shù) int僅用作區(qū)分,并無實際意義,可以給一個變量名,也可以不給變量名。 coutShow myClock++:。 } 28 程序運行結(jié)果為: First time output: 23:59:59 Show myClock++: 23:59:59 Show ++myClock: 0:0:1 29 C++語言程序設(shè)計 30 小結(jié): 1. 運算符重載函數(shù)的函數(shù)名必須為關(guān)鍵字 Operator加一個合法的運算符。 C++不允許重載三目運算符 。 C++語言程序設(shè)計 32 非成員運算符函數(shù)的設(shè)計 ? 如果需要重載一個運算符,使之能夠用于操作某類對象的私有成員,可以此將運算符重載為該類的非成員(通常為友元)函數(shù)。 ? 兩個操作數(shù)都是復(fù)數(shù)類的對象。 } //構(gòu)造函數(shù) friend plex operator + (plex c1,plex c2)。 double imag。 } // 其他函數(shù)和主函數(shù)同例 81 36 C++語言程序設(shè)計
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1