- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
继承基本类别与衍生类别public
第九章 Inheritance(繼承) 9.1 簡介 繼承(Inheritance) 從現存類別來建立新的類別 將現存類別的屬性與行為繼承過來,某部份可加以修改 Derived class(衍生類別、繼承別人的類別) 從基本類別(被繼承的類別)繼承資料成員與成員函式的類別。 單一繼承(Single inheritance) 只從一個基本類別繼承的類別 多重繼承(Multiple inheritance) 從很多個基本類別繼承的類別 繼承的種類:public、protected、private 這一章中主要使用 public 繼承,也就是每個衍生類別的物件都可以看作基本類別的物件。 9.1 簡介 Polymorphism(多型、第十章) 用一般化的方式寫程式 相關的類別都可以用同一種方式來處理 多介紹一種類別的成員存取方式,除了 private 與 public 外,又多了 protected。 衍生類別可以存取基本類別的 protected 成員,但不能存取 private 成員。 很多軟體公司提供類別庫,程式設計者寫程式時,可以直接從這些標準化的、可再使用的元件直接繼承過來,與硬體的建構方式類似。 9.2 繼承:基本類別與衍生類別 基本類別與衍生類別 通常衍生類別(子類別)的物件也算為基本類別的物件 矩形類別可當作四邊形類別的衍生類別,矩形也是四邊形、但四邊形未必是矩形 繼承的範例 9.2 繼承:基本類別與衍生類別 9.2 繼承:基本類別與衍生類別 public 繼承的實作方式 class CommissionWorker : public Employee { ...}; 類別 CommissionWorker 從 Employee 繼承 friend 函式沒有被繼承 基本類別的 private 成員不能被衍生類別存取 這是 public 繼承,是最普通的繼承方式 基本類別的 public 與 protected 成員都會被繼承為衍生類別的 public 與 protected 成員。 衍生類別的物件可以視為基本類別的物件,但基本類別的物件不可視為衍生類別的物件 9.3 protected 成員 基本類別的 public 成員可被程式中任何函式存取,基本類別的 private 成員只能被基本類別的成員函式或friends存取。 protected 存取方式 被保護的程度介於 public 與 private 存取方式之間 衍生類別成員只要使用成員名稱就可存取基本類別的 public 與 protected 成員。 注意 protected 資料會破壞封裝,當基本類別的 protected 成員有改變時,所有的衍生類別都要跟著改變。 9.4衍生類別與基本類別的關係 Example: Point/circle inheritance hierarchy Point x-y coordinate pair Circle x-y coordinate pair Radius 1 // Fig.?9.4: point.h 6 class Point { 8 public: 9 Point( int = 0, int = 0 ); 11 void setX( int ); 12 int getX() const; 14 void setY( int ); 15 int getY() const; 17 void print() const; 19 private: 20 int x; 21 int y; 23 }; 18 void Point::setX( int xValue ) { 20 x = xValue; } 25 int Point::getX() const { 27 return x; 29 } 30 32 void Point::setY( int yValue ) { 34 y = yValue; 36 } 37 39 int Point::getY() const { 41 return y; 43 } 46 void Point::print() const { 48 cout [ x , y ]; 50 }
您可能关注的文档
- 索引彩色影像.ppt
- 紧凑型城中国城经济可持续发展的新视角.doc
- 紧急疏散演练示意图.ppt
- 紫光新锐增压稳压设备性能比较.doc
- 精致的园林建筑.ppt
- 紫外探测与成像器件.ppt
- 索尔兹伯里大学MA.ppt
- 紫竹科学园区数码港 紫竹国家高新技术产业开发区.doc
- 紫外-可见分光光度计doc.doc
- 紫外 可见分光光度计 仪器信息网.ppt
- 深度解析(2026)《ISO 22002-12025食品安全前提方案—第1部分:食品制造》.pptx
- 深度解析(2026)《ISO 22002-52025食品安全前提方案—第5部分:运输和储存》.pptx
- 深度解析(2026)《ISO 22002-42025 食品安全前提方案 — 第4部分:食品包装制造》.pptx
- 徒步活动策划方案.doc
- 深度解析(2026)《ISO 22002-62025食品安全前提方案—第6部分:饲料及动物食品生产》.pptx
- 2026年新版郯城期末真题卷.doc
- 深度解析(2026)《ISO 22476-72012岩土工程勘察与测试 — 现场测试 — 第7部分:钻孔千斤顶试验》.pptx
- 深度解析(2026)《ISO 22090-22014 船舶与海洋技术 — 航向传送装置(THD) — 第2部分:地磁原理》.pptx
- 深度解析(2026)《ISO 23584-22012 光学和光子学 — 参考字典规范 — 第 2 部分:类与特性定义》:构建智能制造数据基石的专家视角与未来展望.pptx
- 深度解析(2026)《ISO 22932-92025 Mining — Vocabulary — Part 9 Drainage》:构建未来矿山“水脉”治理与可持续发展的新语言体系.pptx
原创力文档


文档评论(0)