




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 一、一、繼承與派生的基本概念繼承與派生的基本概念 1 1繼承的概念 在C+C+語(yǔ)言中,可以從一個(gè)類派生出另一個(gè)類。派生出其它類的類稱為基類,又稱為父類。被派生的類稱為派生類,又稱為子類。派生類可以具有基類的特性,共享基類的成員函數(shù),使用基類的數(shù)據(jù)成員,還可以定義自己的數(shù)據(jù)成員和成員函數(shù)。一個(gè)派生類可以從一個(gè)基類派生,也可以從多個(gè)基類派生。從一個(gè)基類派生的繼承稱為單繼承;從多個(gè)基類派生的繼承稱為多繼承。 第1頁(yè)/共35頁(yè) 一、一、繼承與派生的基本概念繼承與派生的基本概念 2派生類的定義格式單繼承的定義格式如下:class :public: members; /派生類新定義成員 members;
2、 members;第2頁(yè)/共35頁(yè) 一、一、繼承與派生的基本概念繼承與派生的基本概念 多繼承的定義格式如下:class :, public: /派生類新定義成員 members; members; members;第3頁(yè)/共35頁(yè)二、繼承的基本方式二、繼承的基本方式繼承方式主要表示派生類繼承基類時(shí)采用的繼承方式,主要有三種,即公有繼承、私有繼承和保護(hù)繼承。1公有繼承(public)公有繼承的特點(diǎn)是基類的公有成員和保護(hù)成員作為派生類的成員時(shí)都保持原有的狀態(tài),而基類的私有成員仍然是私有的。第4頁(yè)/共35頁(yè)二、繼承的基本方式二、繼承的基本方式例11.1:#includeclass A private
3、: int x; public: void setx(int i)x=i; void showx() coutxendl;第5頁(yè)/共35頁(yè)class B:public A private:int y; public:void sety(int i)y=i;void showy() showx(); coutyendl;第6頁(yè)/共35頁(yè)void main() B b;b.setx(10);b.sety(20);b.showy();第7頁(yè)/共35頁(yè)二、繼承的基本方式二、繼承的基本方式2私有繼承(私有繼承(private) 私有繼承的特點(diǎn)是基類的公有成員和保護(hù)成員作為派生類的私有成員,并且不能被這個(gè)
4、派生類的子類訪問(wèn)。第8頁(yè)/共35頁(yè)二、繼承的基本方式二、繼承的基本方式例11.2#includeclass A private: int x; public: void setx(int i)x=i; void showx()coutxendl;第9頁(yè)/共35頁(yè)class B:private A private:int y; public:void sety(int m,int n) setx(m); y=n;void showxy() showx(); coutyendl;第10頁(yè)/共35頁(yè)void main() A a;a.setx(10);a.showx();B b;b.sety(10,
5、20);b.showx(); b.showxy();第11頁(yè)/共35頁(yè)二、繼承的基本方式二、繼承的基本方式3. 保護(hù)繼承(保護(hù)繼承(protected) 保護(hù)繼承的特點(diǎn)是基類的所有公有成員和保護(hù)成員都成為派生類的保護(hù)成員,并且只能被它的派生類成員函數(shù)或友元訪問(wèn),基類的私有成員仍然是私有的。第12頁(yè)/共35頁(yè)例11.3#includeclass Aprivate: int x; public: void setx(int i)x=i; void showx()coutxendl;第13頁(yè)/共35頁(yè)class B:protected A private:int y; public:void set
6、y(int m,int n) setx(m); y=n;第14頁(yè)/共35頁(yè)void showxy() showx(); coutyendl;第15頁(yè)/共35頁(yè)class C:private B public: void set(int m) setx(m); void show() showx(); ;第16頁(yè)/共35頁(yè)void main() A a; a.setx(10); a.showx(); B b; b.sety(10,20); b.showxy(); C c; c.set(50); c.show();第17頁(yè)/共35頁(yè)練習(xí):編一個(gè)設(shè)定長(zhǎng)方形邊長(zhǎng)的類,利用繼承機(jī)制求長(zhǎng)方形的面積及周長(zhǎng)。
7、第18頁(yè)/共35頁(yè)#includeclass lengprotected: int x,y; public: void init(int a,int b) x=a; y=b;第19頁(yè)/共35頁(yè)class area:public leng private:int s,t; public:void setarea() s=x*y; void setgirth() t=2*(x+y);第20頁(yè)/共35頁(yè)void show() coutarea=sendl; coutgirth=tendl;void main() area m; m.init(5,8); m.setarea (); m.setgirt
8、h (); m.show ();第21頁(yè)/共35頁(yè)三、多繼承三、多繼承有多個(gè)基類的派生類的繼承稱為多繼承。多繼承可以看作是單繼承的擴(kuò)展。多繼承的定義格式如下:class:, ;第22頁(yè)/共35頁(yè)例:#includeclass B1 private: int b1; public: void setb1(int i) b1=i; void showb1() cout“b1=“b1endl; ;第23頁(yè)/共35頁(yè)class B2 private: int b2; public: void setb2(int i) b2=i; void showb2() cout“b2=“b2endl; ;第24頁(yè)
9、/共35頁(yè)class D:public B1,public B2 private: int d; public: void setd(int i,int j) d=i; setb2(j); 第25頁(yè)/共35頁(yè) void showd() showb2(); cout“d=“dendl; ;第26頁(yè)/共35頁(yè) void main() D objd; objd.setb1(10); objd.showb1(); objd.setd(15,20); objd.showd(); 第27頁(yè)/共35頁(yè)#includeclass A1 private: int x1,x2; public: void init
10、1(int n1,int n2)x1=n1,x2=n2;第28頁(yè)/共35頁(yè) void set1() x1+; x2-; void show1() coutx1=x1endl; coutx2=x2endl; ;第29頁(yè)/共35頁(yè)class A2:public A1 private: int x3; public: void init2(int n)x3=n; void set2() x3=x3*x3; 第30頁(yè)/共35頁(yè) void show2() show1(); coutx3=x3endl; ;第31頁(yè)/共35頁(yè)class A3:public A2private: int x4;public: void init3(int n)x4=n; void set3() x4=x4*3; void show3() show1(); show2(); coutx4=x4endl; ;第32頁(yè)/共35頁(yè)void main() A1 m; m.init1(3,7); m.set1(); m.show1(); A3 t; t.init2(15); t.init3(5); t.set2(); t.set3(); t.show3();第33頁(yè)/共3
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 法律文書電子簽管理員考試試卷及答案
- 外賣運(yùn)營(yíng)專家筆試試題及答案
- 2025年槳扇發(fā)動(dòng)機(jī)合作協(xié)議書
- 2025年細(xì)菌類診斷抗原項(xiàng)目建議書
- 基于Qt的探測(cè)器壽命試驗(yàn)系統(tǒng)設(shè)計(jì)及實(shí)踐
- 2025年溫州瑞安市中小學(xué)招聘事業(yè)編制教師考試試題【答案】
- 2025年十堰市茅箭區(qū)教育局所屬學(xué)校招聘教師考試試題【答案】
- 勞動(dòng)保障局副局長(zhǎng)述職報(bào)告
- 消防員個(gè)人工作自我鑒定范文
- 湘藝七年級(jí)下冊(cè)音樂(lè)教案
- 高壓氧艙測(cè)試題庫(kù)及答案
- T/SHPTA 032.2-2022500 kV及以下海上風(fēng)電交流海纜用可交聯(lián)聚乙烯電纜料第2部分:半導(dǎo)電屏蔽料
- 2024年江西財(cái)經(jīng)大學(xué)輔導(dǎo)員考試真題
- 家校社協(xié)同育人的實(shí)踐策略研究
- GB/T 30425-2025高壓直流輸電換流閥水冷卻設(shè)備
- 河南省洛陽(yáng)市東方第二中學(xué)2025屆八下物理期末統(tǒng)考試題含解析
- 2025春季學(xué)期國(guó)家開放大學(xué)本科《國(guó)際私法》一平臺(tái)在線形考(形考任務(wù)1至5)試題及答案
- 風(fēng)電運(yùn)維安全培訓(xùn)內(nèi)容課件
- 保密人員面試題及答案
- 體育設(shè)備采購(gòu)項(xiàng)目方案投標(biāo)文件(技術(shù)方案)
- 烘焙技巧培訓(xùn)課程行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
評(píng)論
0/150
提交評(píng)論