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

正文內(nèi)容

[計(jì)算機(jī)硬件及網(wǎng)絡(luò)]c面向?qū)ο蟪绦蛟O(shè)計(jì)教程下(已修改)

2025-12-15 02:14 本頁面
 

【正文】 匯天地之長 育學(xué)子精英 C++面向?qū)ο蟪绦蛟O(shè)計(jì)教程 (下 ) 第 章 多態(tài)性 Chapter 6 Polymorphism 第 章 模板 Chapter 7 Template 3 67 3 千里之行 始于足下 所謂多態(tài)性就是不同對象收到相同的消息時(shí),產(chǎn)生不同的動作。通俗的說,多態(tài)性是指用 一個(gè)名字定義不同的函數(shù) ,這些函數(shù)執(zhí)行不同但又有類似的操作,即用同樣的接口訪問功能不同的函數(shù),從而實(shí)現(xiàn)“一個(gè)接口,多種方法” 。 4 千里之行 始于足下 class point{ int x,y。 public:point(int a,int b) {x=a。y=b。} float area(){return 。} }。 class circle:public point{ int radius。 public:circle(int x,int y,int rad):point(x,y) {radius=rad。} float area(){return *radius*radius。} }。 void main() { point p(20,20)。 circle c(8,8,30)。 cout()endl。 cout()endl。 cout::area()endl。 } 函數(shù)重載 5 千里之行 始于足下 在基類和派生類中的函數(shù)重載有兩種情況 : ( 1)參數(shù)有差別 ( 2)函數(shù)所帶的參數(shù)完全相同 ,只是他們屬于不同的類。 通過 (1)對象的不同加以區(qū)分 (2)通過“類名 ::”加以區(qū)分。 6 千里之行 始于足下 運(yùn)算符重載 int x,y,z。 z=x+y。 這是將兩個(gè)整數(shù)相加的方法 ,非常簡單 .若有一個(gè)復(fù)數(shù)類 plex class plex{ public: double real。 double imag。 plex(double r=0,double i=0){real=r。imag=i。} }。 7 千里之行 始于足下 把 plex的兩個(gè)對象 1和 2加在一起。能否這樣 實(shí)現(xiàn): plex 1(,),2(,),total1。 total1=1+2。 C++為運(yùn)算符提供了一種方法,即在進(jìn)行運(yùn)算符重載時(shí),必須寫一個(gè)運(yùn)算符函數(shù),其名字為operator后隨一個(gè)要重載的運(yùn)算符。 8 千里之行 始于足下 函數(shù) 功能 operator+() 加法 operator() 減法 operator*() 乘法 operator/() 除法 operator() 小于 … … 表 這樣 ,編譯器在一個(gè)運(yùn)算符的兩邊 “ 看 ” 到自定義的數(shù)據(jù)類型 ,就執(zhí)行型用戶自己的函數(shù) ,而不是內(nèi)部運(yùn)算符的常規(guī)程序 . 9 千里之行 始于足下 class plex{ public: double real。 double imag。 plex(double r=0,double i=0){real=r。imag=i。} }。 plex operator+(plex co1,plex co2) {plex temp。 = +。 =+ 。 return temp。} 10 千里之行 始于足下 void main(){ plex 1(,),2(,),total1,total2。 total1=operator+(1,2)。 //第一種使用方法 cout+ i 。 total2=1+2。 //第二種使用方法 cout+ i 。 } 11 千里之行 始于足下 一般而言 ,雙目運(yùn)算符 @,而 aa和 bb是類 X的兩個(gè)對象 ,則以下兩種函數(shù)調(diào)用方法是等價(jià)的。 aa@bb //隱式調(diào)用 operator @(aa,bb) //顯示調(diào)用 12 千里之行 始于足下 注意 : (1)重載運(yùn)算符要與原有功能類似。 (2)重載運(yùn)算符 ,只能重載已有的運(yùn)算符 .程序員不能臆造新的運(yùn)算符來擴(kuò)充 C++語言。 (3)類屬關(guān)系運(yùn)算符“ .”、指針運(yùn)算符“ *”、作用域運(yùn)算符“ ::”、 sizeof運(yùn)算符不能被重載。 (4)不能改變運(yùn)算符的操作數(shù)個(gè)數(shù)。例如“ +”,只能是兩個(gè)操作數(shù)。 ( 5)不能改變運(yùn)算符原有的優(yōu)先級。 x=ya*b。 13 千里之行 始于足下 例:用 *實(shí)現(xiàn)兩個(gè)復(fù)數(shù)相乘 編程練習(xí) 14 千里之行 始于足下 class plex{ private: double real。 double imag。 public: plex(double r=0,double i=0){real=r。imag=i。} }。 思考: 如何實(shí)現(xiàn)運(yùn)算符重載呢? 15 千里之行 始于足下 友元運(yùn)算符函數(shù) 運(yùn)算符重載函數(shù)是在類的外部定義的,這個(gè)運(yùn)算的重載函數(shù)只能訪問類中的公有數(shù)據(jù)成員,而不訪問類的私有數(shù)據(jù)成員。 解決辦法是 : (1)定義為它將要操作的類的成員函數(shù) (2)是定義類的友元函數(shù)。 16 千里之行 始于足下 友元運(yùn)算符函數(shù)定義的語法形式: class x { friend 返回類型 operator運(yùn)算符(形參表) }; 17 千里之行 始于足下 class plex{ private: double real。 double imag。 public: plex(double r=0,double i=0){real=r。imag=i。} void print()。 friend plex operator+(plex co1,plex co2)。 }。 plex operator+(plex co1,plex co2) {plex temp。 = +。 =+ 。 return temp。} 18 千里之行 始于足下 void plex::print() { coutreal。 if (imag0)cout+。 if(imag!=0)coutimagi。 } void main(){ plex 1(,),2(,),total1,total2。 total1=1+2。 ()。 } 19 千里之行 始于足下 例 : 用 +*/實(shí)現(xiàn)兩個(gè)復(fù)數(shù)類的加減乘除。 編程練習(xí) 20 千里之行 始于足下 成員運(yùn)算符函數(shù) 成員運(yùn)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1