秋霞电影网午夜鲁丝片无码,真人h视频免费观看视频,囯产av无码片毛片一级,免费夜色私人影院在线观看,亚洲美女综合香蕉片,亚洲aⅴ天堂av在线电影猫咪,日韩三级片网址入口

嵌入式Linux下C++程序設(shè)計(jì)--07多態(tài),運(yùn)算符重載,虛函數(shù),抽象類(lèi)

上傳人:沈*** 文檔編號(hào):253054466 上傳時(shí)間:2024-11-28 格式:PPT 頁(yè)數(shù):34 大?。?.06MB
收藏 版權(quán)申訴 舉報(bào) 下載
嵌入式Linux下C++程序設(shè)計(jì)--07多態(tài),運(yùn)算符重載,虛函數(shù),抽象類(lèi)_第1頁(yè)
第1頁(yè) / 共34頁(yè)
嵌入式Linux下C++程序設(shè)計(jì)--07多態(tài),運(yùn)算符重載,虛函數(shù),抽象類(lèi)_第2頁(yè)
第2頁(yè) / 共34頁(yè)
嵌入式Linux下C++程序設(shè)計(jì)--07多態(tài),運(yùn)算符重載,虛函數(shù),抽象類(lèi)_第3頁(yè)
第3頁(yè) / 共34頁(yè)

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《嵌入式Linux下C++程序設(shè)計(jì)--07多態(tài),運(yùn)算符重載,虛函數(shù),抽象類(lèi)》由會(huì)員分享,可在線閱讀,更多相關(guān)《嵌入式Linux下C++程序設(shè)計(jì)--07多態(tài),運(yùn)算符重載,虛函數(shù),抽象類(lèi)(34頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,中程在線信息產(chǎn)業(yè)培訓(xùn)網(wǎng),單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,

2、第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,嵌入式,Linux,下,QT,程序設(shè)

3、計(jì),主講:成寶宗,本章主要內(nèi)容,多態(tài)性,運(yùn)算符重載,虛函數(shù),純虛函數(shù),抽象類(lèi),3,多態(tài)性的概念,多態(tài)性是面向?qū)ο蟪绦蛟O(shè)計(jì)的重要特征之一。,多態(tài)性是指發(fā)出同樣的消息被不同類(lèi)型的對(duì)象接收時(shí)有可能導(dǎo)致完全不同的行為。,多態(tài)的實(shí)現(xiàn):,函數(shù)重載:相同函數(shù)名,不同函數(shù)參數(shù)。,運(yùn)算符重載:對(duì)原有運(yùn)算符增加其他功能。,虛函數(shù):用于動(dòng)態(tài)綁定,根據(jù)參數(shù)類(lèi)型不同,自動(dòng)調(diào)用對(duì)應(yīng)函數(shù)。,4,運(yùn)算符重載,運(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í)參。

4、,編譯系統(tǒng)對(duì)重載運(yùn)算符的選擇,遵循函數(shù)重載的選擇原則。,5,規(guī)則和限制,可以重載,C+,中除下列運(yùn)算符外的所有運(yùn)算符:,.*:?:,只能重載,C+,語(yǔ)言中已有的運(yùn)算符,不可臆造新的。,不改變?cè)\(yùn)算符的優(yōu)先級(jí)和結(jié)合性。,不能改變操作數(shù)個(gè)數(shù)。,經(jīng)重載的運(yùn)算符,其操作數(shù)中至少應(yīng)該有一個(gè)是自定義類(lèi)型。,6,兩種形式,重載為類(lèi)的非靜態(tài)成員函數(shù),重載為非成員函數(shù),7,運(yùn)算符函數(shù),聲明形式,函數(shù)類(lèi)型,operator,運(yùn)算符(形參),.,重載為類(lèi)成員函數(shù)時(shí),參數(shù)個(gè)數(shù),=,原操作數(shù)個(gè)數(shù),-1,(后置,+,、,-,除外),重載為非成員函數(shù)時(shí),參數(shù)個(gè)數(shù),=,原操作數(shù)個(gè)數(shù),,且至少應(yīng)該有一個(gè)自定義類(lèi)型的形參。,8,

5、運(yùn)算符成員函數(shù)的設(shè)計(jì),雙目運(yùn)算符,B,如果要重載,B,為類(lèi)成員函數(shù),使之能夠?qū)崿F(xiàn)表達(dá)式,oprd1 B oprd2,,其中,oprd1,為,A,類(lèi)對(duì)象,則,B,應(yīng)被重載為,A,類(lèi)的成員函數(shù),形參類(lèi)型應(yīng)該是,oprd2,所屬的類(lèi)型。,經(jīng)重載后,表達(dá)式,oprd1 B oprd2,相當(dāng)于,oprd1.operator B(oprd2),9,運(yùn)算符重載,將,“,+,”,、,“,-,”,運(yùn)算重載為復(fù)數(shù)類(lèi)的成員函數(shù)。,規(guī)則,:,實(shí)部和虛部分別相加減。,操作數(shù),:,兩個(gè)操作數(shù)都是復(fù)數(shù)類(lèi)的對(duì)象。,#include,using namespace std;,class Complex/,復(fù)數(shù)類(lèi)定義,publi

6、c:/,外部接口,Complex(double,r=0.0,double i=0.0):,real(r,),imag(i,)/,構(gòu)造函數(shù),Complex operator+(const Complex/,運(yùn)算符,+,重載成員函數(shù),Complex operator-(const Complex/,運(yùn)算符,-,重載成員函數(shù),void display()const;/,輸出復(fù)數(shù),private:/,私有數(shù)據(jù)成員,double real;/,復(fù)數(shù)實(shí)部,double,imag,;/,復(fù)數(shù)虛部,;Complex,Complex:operator,+(const Complex&c2)const/,重載運(yùn)算

7、符函數(shù)實(shí)現(xiàn),return,Complex(real,+c2.real,imag,+c2.imag);/,創(chuàng)建一個(gè)臨時(shí)無(wú)名對(duì)象作為返回值,Complex,Complex:operator,-(const Complex&c2)const/,重載運(yùn)算符函數(shù)實(shí)現(xiàn),return,Complex(real,-c2.real,imag,-c2.imag);/,創(chuàng)建一個(gè)臨時(shí)無(wú)名對(duì)象作為返回值,void,Complex:display,()const,cout,(real ,imag,),endl,;,int,main()/,主函數(shù),Complex c1(5,4),c2(2,10),c3;/,定義復(fù)數(shù)類(lèi)的對(duì)象

8、,cout,c1=;c1.display();,cout,c2=;c2.display();,c3=c1-c2;/,使用重載運(yùn)算符完成復(fù)數(shù)減法,cout,c3=c1-c2=;c3.display();,c3=c1+c2;/,使用重載運(yùn)算符完成復(fù)數(shù)加法,cout,c3=c1+c2=;c3.display();,return 0;,程序輸出的結(jié)果為:,c1=(5,4),c2=(2,10),c3=c1-c2=(3,-6),c3=c1+c2=(7,14),11,#include,using namespace std;,class Point,private:,int,x;,int,y;,public

9、:,Point(int,a=0,int,b=0):x(a),y(b),friend Point,operator+(Point,&,p,Point,/,友元函數(shù),Point operator-(Point/,成員函數(shù),void,show()cout,(x=x,y=y),endl,;,;,Point,operator+(Point,&,p,Point,&q),return,Point(p.x+q.x,p.y+q.y,);,;,Point,Point:operator,-(Point&p),return,Point(x-p.x,y-p.y,);,int,main(int,argc,char*,ar

10、gv,),Point a(4,5);,Point b(10,20);,Point c;,Point d;,d=a-b;,c=,a+b,;,a.show,();,b.show,();,c.show,();,d.show,();,13,運(yùn)算符成員函數(shù)的設(shè)計(jì),前置單目運(yùn)算符,U,如果要重載,U,為類(lèi)成員函數(shù),使之能夠?qū)崿F(xiàn)表達(dá)式,U,oprd,,其中,oprd,為,A,類(lèi)對(duì)象,則,U,應(yīng)被重載為,A,類(lèi)的成員函數(shù),無(wú)形參。,經(jīng)重載后,表達(dá)式,U,oprd,相當(dāng)于,oprd.operator,U(),14,運(yùn)算符成員函數(shù)的設(shè)計(jì),后置單目運(yùn)算符,+,和,-,如果要重載,+,或,-,為類(lèi)成員函數(shù),使之能夠?qū)?/p>

11、現(xiàn)表達(dá)式,oprd,+,或,oprd,-,,其中,oprd,為,A,類(lèi)對(duì)象,則,+,或,-,應(yīng)被重載為,A,類(lèi)的成員函數(shù),且具有一個(gè),int,類(lèi)型,形參,。,經(jīng)重載后,表達(dá)式,oprd,+,相當(dāng)于,oprd.operator,+(0),15,運(yùn)算符重載,運(yùn)算符前置,+,和后置,+,重載為時(shí)鐘類(lèi)的成員函數(shù)。,前置單目運(yùn)算符,重載函數(shù)沒(méi)有形參,對(duì)于后置單目運(yùn)算符,重載函數(shù)需要有一個(gè)整型形參。,操作數(shù)是時(shí)鐘類(lèi)的對(duì)象。,實(shí)現(xiàn)時(shí)間增加,1,秒鐘。,#include,using namespace std;,class Clock/,時(shí)鐘類(lèi)聲明定義,public:/,外部接口,Clock(int,hour

12、=0,int,minute=0,int,second=0);,void,showTime,()const;,Clock/,前置單目運(yùn)算符重載,Clock operator+(,int,);/,后置單目運(yùn)算符重載,private:/,私有數(shù)據(jù)成員,int,hour,minute,second;,;,/,前置單目運(yùn)算符重載函數(shù),Clock&,Clock:operator,+(),second+;,if(second=60),second-=60;,minute+;,if(minute=60),minute-=60;,hour=(hour+1)%24;,return*this;,/,后置單目運(yùn)算符重

13、載,Clock,Clock:operator,+(,int,),/,注意形參表中的整型參數(shù),Clock old=*this;,+(*this);/,調(diào)用前置“,+”,運(yùn)算符,return old;,/,其它成員函數(shù)的實(shí)現(xiàn)略,int,main(),Clock myClock(23,59,59);,cout,First time output:;,myClock.showTime,();,cout,Show,myClock,+:;,(,myClock+).showTime,();,cout,Show+,myClock,:;,(+,myClock).showTime,();,return 0;,程序

14、運(yùn)行結(jié)果為:,First time output:23:59:59,Show,myClock,+:23:59:59,Show+,myClock,:0:0:1,18,運(yùn)算符非成員函數(shù)的設(shè)計(jì),函數(shù)的形參代表依自左至右次序排列的各操作數(shù)。,后置單目運(yùn)算符,+,和,-,的重載函數(shù),形參列表中要增加一個(gè),int,,但不必寫(xiě)形參名。,如果在運(yùn)算符的重載函數(shù)中需要操作某類(lèi)對(duì)象的私有成員,可以將此函數(shù)聲明為該類(lèi)的友元。,19,運(yùn)算符非成員函數(shù)的設(shè)計(jì),雙目運(yùn)算符,B,重載后,表達(dá)式,oprd1 B oprd2,等同于,operator B(oprd1,oprd2),前置單目運(yùn)算符,B,重載后,,表達(dá)式,B,op

15、rd,等同于,operator,B(oprd,),后置單目運(yùn)算符,+,和,-,重載后,,表達(dá)式,oprd,B,等同于,operator B(oprd,0),20,例,8-3,將,+,、,-,(雙目)重載為非成員函數(shù),,并將其聲明為復(fù)數(shù)類(lèi)的友元,兩個(gè)操作數(shù)都是復(fù)數(shù)類(lèi)的常引用。,將,(雙目)重載為非成員函數(shù),并將其聲明為復(fù)數(shù)類(lèi)的友元,它的左操作數(shù)是,std:ostream,引用,右操作數(shù)為復(fù)數(shù)類(lèi)的常引用,返回,std:ostream,引用,用以支持下面形式的輸出:,cout,a b;,該輸出調(diào)用的是:,operator (operator (,cout,a),b);,#include,using

16、namespace std;,class Complex/,復(fù)數(shù)類(lèi)定義,public:/,外部接口,Complex(double,r=0.0,double i=0.0):,real(r,),imag(i,)/,構(gòu)造函數(shù),friend Complex operator+(const Complex/,運(yùn)算符,+,重載,friend Complex operator-(const Complex/,運(yùn)算符,-,重載,friend,ostream,&operator (,ostream,/,運(yùn)算符,重載,private:/,私有數(shù)據(jù)成員,double real;/,復(fù)數(shù)實(shí)部,double,imag,;/,復(fù)數(shù)虛部,;,Complex operator+(const Complex&c1,const Complex&c2),return Complex(c1.real+c2.real,c1.imag+c2.imag);,Complex operator-(const Complex&c1,const Complex&c2),return Complex(c1.real-c2.real,c1.i

展開(kāi)閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  sobing.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!