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

正文內(nèi)容

[計(jì)算機(jī)軟件及應(yīng)用]第7章繼承(已修改)

2025-10-23 23:21 本頁面
 

【正文】 第 7章 繼承 C++程序設(shè)計(jì) 繼承與派生的概念 ? 繼承 ,就是在一個(gè)已有類的基礎(chǔ)上建立一個(gè)新類,已有的類稱為 “ 基類 ” 或 “ 父類 ” ,新建立的類稱為 “ 派生類 ” 或 “ 子類 ” ? 繼承是一個(gè)重要的概念,它同時(shí)也是程序設(shè)計(jì)中的一個(gè)有效的工具,較好地解決了 代碼重用問題 ? 實(shí)現(xiàn)繼承的方法是 類的派生 ,派生類提供了擴(kuò)展或定制基類特性的簡單手段,不需要重新來創(chuàng)建基類本身;任何一個(gè)類都可以作為基類,從這個(gè)基類可以派生出多個(gè)類,這些派生的類不僅具有基類的特征,而且還可以定義自己獨(dú)有的特征。程序員可以通過類的派生來構(gòu)造可重用的類庫。 ? 如果一個(gè)派生類只從一個(gè)基類派生,稱為 單繼承 ; ? 如果一個(gè)派生類從多個(gè)基類派生,稱為 多重繼承 ? 關(guān)于繼承的幾點(diǎn)說明: ① 如果子類繼承了父類,則子類自動(dòng)具有父類的全部數(shù)據(jù)成員(數(shù)據(jù)結(jié)構(gòu) )和成員函數(shù) (功能 );但是,子類對(duì)父類成員的訪問有所限制。 ② 子類可以定義自己的成員是數(shù)據(jù)成員和成員函數(shù)。 ③ 基類、派生類或父類、子類都是 “ 相對(duì) ” 的。一個(gè)類派生出新的類就是基類。派生類也可以被其他類繼承,這個(gè)派生類同時(shí)也是基類。 派生類的定義 ? 語法格式如下: class 派生類名 : [繼承方式 ] 基類名 { 新增私有成員聲明語句列表 public: 新增公有成員聲明語句列表 protected: 新增保護(hù)成員聲明語句列表 }; 例如: class Book //定義基類 Book { private: int num。 //書號(hào) float price。 //定價(jià) int sellnum。 //銷售量 public: float sale() //計(jì)算銷售額 { return price*sellnum。 } }。 class Book1:public Book //定義派生類 Book1 { private: char type。 //定義圖書類別,新增加的數(shù)據(jù)成員 char name[40]。 //書名,新增加的數(shù)據(jù)成員 char publisher[20]。 //出版社,新增加的數(shù)據(jù)成員 public: void show() //顯示圖書信息,新增加的成員函數(shù) { couttype:typeendl。 coutname:nameendl。 coutpublisher:publisherendl。 } }。 派生類的構(gòu)成 ? 派生類中的成員包括兩部分,一部分是從基類繼承過來的成員,一部分是在聲明派生類時(shí)新增加的成員,每一部分均包括數(shù)據(jù)成員和成員函數(shù)。 ? 派生類要繼承基類的所有成員,對(duì)基類的繼承方式不同,其訪問屬性也不同 ? 派生類可以在原有基類成員的基礎(chǔ)上添加新的成員,也可以更改原有成員屬性。若在派生類中聲明一個(gè)與基類成員同名的新成員,該成員就會(huì)覆蓋原有的成員;若聲明的是同名函數(shù),要保證函數(shù)的參數(shù)也完全相同 【 回顧 】 類中的成員的不同訪問權(quán)限 ? public公有成員: 一個(gè)類的公有成員允許本類的成員函數(shù)、本類的對(duì)象、公有派生類的成員函數(shù)、公有派生類的對(duì)象訪問。 ? private私有成員: 一個(gè)類的私有成員只允許本類的成員函數(shù)訪問。 ? protected保護(hù)成員: 具有私有成員和公有成員的特性,對(duì)其派生類而言是公有成員,對(duì)其他而言是私有成員?;悢?shù)據(jù)成員聲明為保護(hù)的是有益的,派生類可以自由訪問,外部不能訪問,既實(shí)現(xiàn)了信息重用,又做到了信息隱藏。 【 例 】 類的各種成員的訪問權(quán)限。 include class A { int i; //私有成員 protected: //保護(hù)成員 int j; void fn1(){ cout″保護(hù)成員 i=″i″ j=″jendl; } public: //公有成員 A(int x, int y){ i=x; j=y; } void fn2()//成員函數(shù)可以訪問保護(hù)成員 { cout″公有成員 i=″i″ j=″jendl; fn1(); } }; void main() { A x(21, 63); (); } 執(zhí)行結(jié)果: 公有成員 i=21 j=63 保護(hù)成員 i=21 j=63 在主程序中只能訪問公有成員,成員函數(shù)可以訪問保護(hù)成員和私有成員,在例 ,只能由函數(shù) fn2()訪問函數(shù) fn1(),不能在主程序中調(diào)用()。 派生類的繼承方式 ? 繼承方式 決定了子類對(duì)父類的 訪問權(quán)限 ,有 3種繼承方式: private、public和 protected,默認(rèn)為 private 1.公有繼承 【 例 791】 ? 當(dāng)派生類的繼承方式是公有繼承( public)時(shí),基類的 public成員和protected成員的訪問屬性在派生類中保持不變,基類的 private成員被繼承到派生類中仍是基類的 private成員。 2.私有繼承 【 例 792】 當(dāng)派生類的繼承方式是私有繼承( private)時(shí),基類的 public成員和 protected成員被繼承到派生類中成為 private成員,基類的 private成員被繼承到派生類中仍為 private成員 【 例 】 學(xué)校職工類的公有繼承和私有繼承。 類 people是基類,定義人的姓名、性別、身份號(hào)和對(duì)這 3種數(shù)據(jù)的顯示。 類 member私有繼承 people,定義了職工號(hào)、部門和信息顯示,類member生成的對(duì)象不能直接訪問類 people中的任何成員。 類 worker公有繼承類 member,定義了崗位和信息顯示,類 worker生成的對(duì)象可以直接訪問類 member中的公有成員。 類 teacher私有繼承類 member,定義了執(zhí)教課程和信息顯示,類teacher生成的對(duì)象不能直接訪問類 member中的任何成員。 include include class people {char name[10],sex。//姓名,性別 long idnumber。//身份號(hào)碼 public: people(long num=0,char* n=″ ″,char s=′m′) //構(gòu)造函數(shù) { idnumber=num。 strcpy(name,n)。 sex=s。 } void p_show() { cout″人員 :身份號(hào) =″idnumber。 cout″姓名 =″name″性別 =″sexendl。 } }。 class member:private people //教工類私有繼承 people類 {int m_num。//工號(hào) public: char department[10]。//部門 member(long n,char* na,char s=′m′,int mn=0,char* md=″\\0″):people(n,na,s) { m_num=mn。 strcpy(department,md)。 }//構(gòu)造函數(shù) void m_show() {cout″教工 \\t″。 p_show()。//訪問基類的公有成員 cout″教工編號(hào): m_num=″m_num″單位=″departmentendl。 } }。 class w
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1