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

正文內(nèi)容

多態(tài)性和虛函數(shù)-文庫吧資料

2025-07-24 19:50本頁面
  

【正文】 值。最后將整數(shù)存入元 Dollars中,小數(shù)部分乘 100后存入分 Cents中。 ( 2)在單參數(shù)的構(gòu)造函數(shù)中,使用標(biāo)準(zhǔn)函數(shù) modff(n,amp。e1+e2分 endl。 // m3=11元 75分 , f2=11, e2=75 coutf1+f2元 39。 e1=(f1)。 //d=105元 71分, m2=105元 72分 ()。 c=++m2。 然后將 m1加 1 (m1=25元 52分 ) ()。 //先加后用,即:先將 m1加 1,然后將 m1賦給 c (c=m1=25元 51分 ) d= m1++。 ()。 //m1=25元 50分,m2=105元 70分, m3=+125/100= Money c,d。 } return temp。 //分加 1 if (Cents=100) //若分大于 100,則元加 1,分減 100 { Dollars++。 //返回自加后的人民幣對象值 } Money Money::operator++ (int ) { Money temp=*this。 Cents=Cents- 100。 //分存入 Cents } Money Money::operator ++ () //定義前置“ ++”重載函數(shù) { Cents++。 //將整數(shù) (即 :元 )存入 dd,小數(shù) (即 :分 )存入 cc Dollars=dd。 //將 d與 c轉(zhuǎn)換為以元為單位,并存入 sum(如 sum=+125/100=) cc=modff(sum,amp。 //存元值 } Money::Money(float d,float c) //d以元為單位(如d=), c以分為單位(如 c=125分) { float sum,dd,cc。num)將實(shí)數(shù) n分為解為整數(shù)與小數(shù)兩部分,返回小數(shù)值給 Frac,整數(shù)值送到 num單元中 Cents=Frac*100。num)。 Money::Money(float n) //初始值 n中整數(shù)部分為元,小數(shù)部分為分 { float Frac,num。 //缺省的析構(gòu)函數(shù) void Show( ) //定義顯示元與分的成員函數(shù) { coutDollars元 Cents分 endl。 return Cents。 //定義后置“ ++”運(yùn)算符重載成員函數(shù) float GetAmount(float amp。 //定義單參數(shù)構(gòu)造函數(shù) Money operator ++( )。} Money(float,float)。 include include class Money { private: float Dollars,Cents。 一元運(yùn)算符的重載 【 例 】 用一個類來描述人民幣幣值,用兩個數(shù)據(jù)成員分別存放元和分。 } 當(dāng)系統(tǒng)自動調(diào)用“后置 ++”運(yùn)算符重載友元函數(shù)時,對形參 t與實(shí)參 t1自加后,用 return temp語句將自加前的結(jié)果通過函數(shù)返回并賦給 t3。 ++。故“后置 ++”運(yùn)算符重載友元函數(shù)定義為: TCount operator ++ (TCount amp。此外,為了能將 t自加前的結(jié)果通過函數(shù)值返回給 t3,在重載函數(shù)內(nèi)第一條語句定義了 TCount 類的臨時對象 temp,并將自加前 t值賦給 temp,在函數(shù)的最后用 return temp語句返回自加前的 t值。為此,形參 t必須定義為時間計(jì)數(shù)器類 TCount的引用,即: TCount amp。在執(zhí)行 t3=t1++語句時,編譯系統(tǒng)將 t3=t1++解釋為對重載函數(shù)的調(diào)用: t3=operator ++ (t1,1)。 ( 2)對“后置 ++”運(yùn)算符重載友元函數(shù)的說明 在主函數(shù)中 t3=t1++語句的含義是:先將 t1當(dāng)前值賦給 t3,然后再對 t1自加。 } 當(dāng)系統(tǒng)自動調(diào)用“前置 ++”運(yùn)算符重載友元函數(shù)時,對形參 t與實(shí)參 t1自加后,用 return t語句將自加的結(jié)果通過函數(shù)返回并賦給 t2。 { ++。 operator ++ (TCount amp。此外,為了能將 t自加的結(jié)果通過函數(shù)值返回給 t2,重載函數(shù)的返回類型必須與形參 t相同,即為時間計(jì)數(shù)器類 TCount的引用。為此,形參 t必須定義為時間計(jì)數(shù)器類 TCount的引用,即: TCount amp。在執(zhí)行 t2=++t1語句時,編譯系統(tǒng)將t2=++t1解釋為對重載函數(shù)的調(diào)用: t2=operator ++ (t1)。 } ? 程序執(zhí)行后輸出 : t1=10:25:50 t1=10:25:51 t2=10:25:51 t1=10:25:52 t3=10:25:51 ? 說明 : ( 1)對“前置 ++”運(yùn)算符重載友元函數(shù)的說明 在主函數(shù)中 t2=++t1語句的含義是:先將 t1自加,然后將自加后的 t1值賦給 t2。 //先用后加 (1)。 (2)。 t2=++t1。 } void main(void) { TCount t1(10,25,50),t2,t3。 if (==24) { =0。 if (==60) { =0。 if (==60) { =0。 t,int ) { TCount temp=t。} } } return t。 ++。 ++。 t) { ++。} }。t ,int )。t )。Second=s。} TCount (int h,int m,int s) { Hour=h。 include class TCount { private: int Hour,Minute,Second。 【 例 】 用一個類來描述時間計(jì)數(shù)器,用三個數(shù)據(jù)成員分別存放時、分和秒。 int )。)。對象 ) {函數(shù)體 } 對于“ ++”、“ ――” 運(yùn)算符存在前置運(yùn)算與后置運(yùn)算的問題,因此,運(yùn)算符重載函數(shù)必須分為兩類。因?yàn)橐玫诫[含的 this指針,所以運(yùn)算符重載函數(shù)不能定義為靜態(tài)成員函數(shù),因?yàn)殪o態(tài)成員函數(shù)中沒有 this指針。在后置重載函數(shù)中先用 TCount類定義一個臨時對象 temp,并將 t1值(即 *this值)賦給 temp,在函數(shù)最后用 return temp語句將加 1前的 t1值返回給函數(shù),并賦給對象 t2。在執(zhí)行 t3=t1++語句時,編譯系統(tǒng)將 t3=t1++解釋為對重載函數(shù)的調(diào)用: t3= ++ (1)。 一元運(yùn)算符的重載 ( 2)“后置 ++”運(yùn)算符重載成員函數(shù)的說明 在主函數(shù)中執(zhí)行 t3=t1++語句時,先將 t1賦給 t3,然后將 t1自加。由于 *this=t1,所以用 return *this 語句可將自加后的 t1值返回給調(diào)用函數(shù),并賦給對象 t2。但在重載函數(shù)體內(nèi)并不能直接使用對象 t1,因而無法使用 return t1語句。 由于重載函數(shù)為對象 t1成員函數(shù),所以函數(shù)體對 Hour、 Minute、Second的自加操作就是對 t1的數(shù)據(jù)成員 Hour、 Minute、Second的自加操作,因而可完成對計(jì)數(shù)器對象 t1的加 1操作。該語句操作是通過調(diào)用“前置 ++”運(yùn)算符重載成員函數(shù)來實(shí)現(xiàn)的。 (3)。 t3=t1++。 //先加后用,即:先將 t1自加,然后將 t1賦給 t2 (1)。 //定義時間計(jì)數(shù)器對象 t1=10:25:50 (1)。} } } return temp。 Hour++。 Minute++。 Second++。} } } return *this。 Hour++。 Minute++。 TCount TCount ::operator ++ () { Second++。 //定義“后置 ++”運(yùn)算符重載成員函數(shù) void Show(int i ) //定義顯示時:分:秒的成員函數(shù) {coutti=Hour:Minute:Secondendl。} TCount operator ++( )。Minute=m。 include class TCount { private: int Hour,Minute,Second。 例:定義一個描述時間計(jì)數(shù)器的類,其三個數(shù)據(jù)成員分 別用于存放時、分和秒。 一元運(yùn)算符的重載 ( 1)“ ++”為前置運(yùn)算符時,函數(shù)格式為: 類型 類名 ::operator ++( ) {函數(shù)體 } ( 2)“ ++”為后置運(yùn)算符時,函數(shù)格式為 類型 類名 ::operator ++( int ) {函數(shù)體 } 由于是用運(yùn)算符重載函數(shù)來實(shí)現(xiàn)“ ++”運(yùn)算,所以這里的“ ++”是廣義上的增量運(yùn)算符。 一元運(yùn)算符的重載 1.一元運(yùn)算符重載函數(shù)為類的成員函數(shù) 格式: 類型 類名 ::operator 一元運(yùn)算符 (形參 ) { 函數(shù)體 } 現(xiàn)對比較典型的一元運(yùn)算符“ ++”、“--”進(jìn)行討論。 一元運(yùn)算符的重載 ? 所謂一元運(yùn)算符是只有一個操作數(shù)的運(yùn)算符,如自加運(yùn)算符“ ++”,自減運(yùn)算符“--”等等。 – 當(dāng)重載函數(shù)為友元函數(shù)時,二元運(yùn)算符的左操作數(shù)為調(diào)用重載函數(shù)的第一個實(shí)參。 ? 友元函數(shù)與成員函數(shù)作為二元運(yùn)算符重載函數(shù)的另一個區(qū)別是: – 當(dāng)重載函數(shù)為成員函數(shù)時,二元運(yùn)算符的左操作數(shù)為調(diào)用重載函數(shù)的對象。的處理是,先將 c1+c2變換為對友元函數(shù)的調(diào)用:operator+(c1,c2);再將函數(shù)返回結(jié)果即兩復(fù)數(shù)的和 t賦給復(fù)數(shù) c3,因此表達(dá)式 c3=c1+c2。 //c1=25+50i+200=225+50i (1)。 //c4=(100+200i)-(25+50i)=75+150i (4)。 //c3=(25+50i)+(100+200i)=125+250i (3)。 (2)。 } void main(void) { Complex c1(25,50),c2(100,200),c3,c4。 =。c,float s) { Complex t。 return t。 = 。c1, Complex amp。 return t。 =+。c1, Complex amp。 }。 //“-”重載函數(shù)為友元函數(shù) friend Complex operator + (Complex amp。, Complex amp。)。} friend Complex operator + (Complex amp。Image=i。 include class Complex { private: float Real,Image。形參1與形參 2常為參加運(yùn)算的兩個對象的引用。重載運(yùn)算符有以下各種限制: 不可臆造新的運(yùn)算符 不能改變運(yùn)算符操作數(shù)的個數(shù); 不能改變運(yùn)算符原有的優(yōu)先級; 不能改變運(yùn)算符原有的結(jié)合性; 不能改變運(yùn)算符原有的語法結(jié)構(gòu) 2.運(yùn)算符重載函數(shù)為友元函數(shù) ? 運(yùn)算符重載函數(shù)為友元函數(shù)的一般定義格式為: 類型 operator重載運(yùn)算符 (形參 1,形參 2) {函數(shù)體 } 其中,類型為運(yùn)算符重載函數(shù)的返回類型。 下列運(yùn)算符不允許重載: 運(yùn)算符 運(yùn)算符的含義 不允許重載的原因 ?: 三目運(yùn)算符 在 C++中沒有定義一個三目運(yùn)算符的語法 如在上例中,由于兩個復(fù)數(shù)運(yùn)算的結(jié)果仍為復(fù)數(shù),因此上述運(yùn)算符重載函數(shù)的返回類型均為復(fù)數(shù)類型 Complex。如在上例中,二元加法運(yùn)算:c1+c2被解釋為對重載成員函數(shù) +(c2)的調(diào)用,此時重載函數(shù)只有一個參數(shù)。 ( 3)形參說明 若重載函數(shù)為成員函數(shù),則參加二元運(yùn)算的左操作數(shù)為調(diào)用重載函數(shù)的對象。由 +(c2)成員函數(shù)求出復(fù)數(shù) c1+c2的值 t,并返回一個計(jì)算結(jié)果 t,然后再由成員函數(shù)=(t),完成復(fù)數(shù) c3=t的賦值運(yùn)算,將運(yùn)算結(jié)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1