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

正文內容

第八章多態(tài)性-免費閱讀

2025-08-25 13:22 上一頁面

下一頁面
  

【正文】 d1。 void fun(B0 *ptr) //普通函數(shù) { ptrdisplay()。 – 構造函數(shù)不能是虛函數(shù),析構函數(shù)可以是虛函數(shù)。 2 “=0”表明程序員將不定義該函數(shù),函數(shù)聲明是為派生類保留一個位置。 //調用派生類 D1函數(shù)成員 } 運行結果: B0::display() B1::display() D1::display() 54 C++語言程序設計 55 虛析構函數(shù) 何時需要虛析構函數(shù)? ? 當你可能通過基類指針刪除派生類對象時 ? 如果你打算允許其他人通過基類指針調用對象的析構函數(shù)(通過 delete這樣做是正常的),并且被析構的對象是有重要的析構函數(shù)的派生類的對象,就需要讓基類的析構函數(shù)成為虛擬的。b0。 } }。我們總是要求將類設計成通用的,無論其他程序員怎樣調用都必須保證不出錯,所以必須把析構函數(shù)定義為虛函數(shù)。 C++語言程序設計 50 6. 析構函數(shù)可定義為虛函數(shù),構造函數(shù)不能定義虛函數(shù),因為在構造函數(shù)時對象還沒有完成實例化。 C++語言程序設計 49 一個類中將所有的成員函數(shù)盡可能地設置為虛函數(shù)總是有好處的,但必須注意以下幾條: 1. 派生類中定義虛函數(shù)必須與基類中的虛函數(shù)同名外,還必須同參數(shù)表,同返回類型。 ? 具有繼承性,基類中聲明了虛函數(shù),派生類中無論是否說明,同原型函數(shù)都自動為虛函數(shù)。 通過函數(shù)的重載和運算符的重載來實現(xiàn)的。 ? 動態(tài)綁定 –綁定過程工作在程序運行時執(zhí)行,在程序運行時才確定將要調用的函數(shù)。} 采用成員函數(shù)方式重載與使用都很方便 。參見下圖。另兩個的聲明為: friend Complex operator + (double,Complex)。 //運算符 +重載為友元函數(shù) friend plex operator (plex c1,plex c2)。 ? 函數(shù)的形參代表依自左至右次序排列的各操作數(shù)。在調用該函數(shù)時,將右操作數(shù)作為函數(shù)的實參。 //其它成員函數(shù)的實現(xiàn)略 int main() { Clock myClock(23,59,59)。 } } return *this。 }。 ? 實現(xiàn)時間增加 1秒鐘。 ) { real += 。Complex::operator = (Complexamp。 } 17 在做 c3=c1+c2時, C++編譯器把表達式 c1+c2解釋為: +(c2) 。 coutc2=。 } 15 plex plex:: operator (plex c2) //重載函數(shù)實現(xiàn) { plex c。 //重載為成員函數(shù) void display()。 –經重載后,表達式 oprd1 B oprd2 相當于 B(oprd2) 運算符重載 C++語言程序設計 13 運算符重載 例 81 將 “ +” 、“ ” 運算重載為復數(shù)類的成員函數(shù)。 ? 不能改變操作數(shù)個數(shù)。 } void display()。 ? 多態(tài)的實現(xiàn): –函數(shù)重載 –運算符重載 –虛函數(shù) C++語言程序設計 4 C++中沒有復數(shù)類型,我們可以自己來定義一個復數(shù)類( class),同樣可以用+、 、 *、 /來進行復數(shù)的算術運算。 – 編譯系統(tǒng)對重載運算符的選擇,遵循函數(shù)重載的選擇原則。 因函數(shù)名的特殊性, C++編譯器可以將這類函數(shù)識別出來 。imag=i。 =+real。 } int main() //主函數(shù) { plex c1(5,4),c2(2,10),c3。 c3=c1+c2。 ? 采用引用為參數(shù)時,從理論上講實參必須為左值 ,不能為表達式,如 【 例 】 中 c=c+d是正確的,但 c=c+, ,但在這種情況下 VC++允許。因為 缺省的賦值操作返回一個復數(shù)的引用,所以它可以進行連續(xù)賦值 如: a=b=c=d 。 –經重載后,表達式 oprd++ 相當于 ++(0) 運算符重載 C++語言程序設計 24 例 82 ? 運算符前置 ++和后置 ++重載為時鐘類的成員函數(shù)。 operator ++()。 if(Minute=60) { Minute=Minute60。 ++(*this)。 coutShow ++myClock:。前置“ ++”格式為: 返回類型 類名 ::operator++(){……} 而后置“ ++”格式為: 返回類型 類名 ::operator++(int){……} 后置“ ++”中的參數(shù) int僅用作 區(qū)分 ,并無實際意義,可以給一個變量名,也可以不給變量名。 class plex //復數(shù)類聲明 { public: //外部接口 plex(double r=,double i=) { real=r。 35 plex operator +(plex c1,plex c2) //運算符重載友元函數(shù)實現(xiàn) { return plex(+, +)。 因為有定義的 缺省的構造函數(shù) ,實數(shù)會被 強制轉換 為虛部為零的復數(shù)。 c2) 這里采用 Complex對象的引用而不是對象本身 , 調用時不再重新分配內存建立一個復制的對象 , 函數(shù)效率會更高 。否則施加于拷貝,而實參不變。它是通過類繼承關系和虛函數(shù)來實現(xiàn)的。 ? 是非靜態(tài)的成員函數(shù)。 當某一個類的一個類成員函數(shù)被定義為虛函數(shù),則由該類派生出來的所有派生類中,該函數(shù)始終保持虛函數(shù)的特征。 3. 靜態(tài)成員函數(shù),是所有同一類對象共有,不受限于某個對象,不能作為虛函數(shù)。 8. 如果
點擊復制文檔內容
醫(yī)療健康相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1