《C++程序设计教程》教学资源(PPT课件讲稿)第7讲 继承与派生(1/2)

C++程序设计教程 第7讲:继承与派生
C++程序设计教程 第7讲: 继承与派生

引言 继承: inheritance 用现有的类建立新类,在新类中继承了现有类 的属性和行为,新类还可以对这些行为和属性 进行修饰。 现有的类--基类 Base class 新类--派生类 Derived class A A B ABC 基类A 派生类B 派生类C
C 引言 继承:inheritance 用现有的类建立新类,在新类中继承了现有类 的属性和行为,新类还可以对这些行为和属性 进行修饰。 现有的类 --- 基类 Base class 新类 --- 派生类 Derived class。 A B A B A 基类 A 派生类 B 派生类 C

基类和派生类 有关继承的例子 t Student CommuterStudent Residentstudent Shape> Circle/Triangle Rectangle Loan Carloan / HomelmprovementLoan MortgageLoan Employee Faculty Member /StaffMember Account> CheckingAccount SavingsAccount
基类和派生类 有关继承的例子: Student → CommuterStudent / ResidentStudent Shape → Circle / Triangle / Rectangle Loan → Carloan / HomeImprovementLoan / MortgageLoan Employee → FacultyMember / StaffMember Account → CheckingAccount / SavingsAccount

基类和派生类 继承的层次结构 CommunityMember Employee Student Faculty Staff Administrator Teacher
基类和派生类 继承的层次结构 CommunityMember Employee Student Faculty Staff Administrator Teacher

基类和派生类 继承的层次结构 Shape TwoDimShape ThreeDim Shape Circle Sphere Square Cube Triangle Tetrahedron
基类和派生类 继承的层次结构 Shape TwoDimShape ThreeDimShape Circle Square Triangle Sphere Cube Tetrahedron

基类和派生类 公有继承 public inheritance class CommissionWorker: public Employee {… public public protected protected private public Base Class protected Derived Class private
基类和派生类 公有继承 public inheritance class CommissionWorker : public Employee { … }; public: protected: private: public: protected: private: public: protected: private: Base Class Derived Class

受保护的成员 1)公有成员可以被外部访问,也可以被继承 2)私有成员不能被外部访问,也不能被继承; 3)受保护的成员不能被外部访问,但可以被继承。 把基类指针强制转换为派生类指针 公有派生类的对象可作为(|pobe 其相应基类的对象处理 protected 派生类指针 基类指针范围 范围 public protected private
受保护的成员 1) 公有成员可以被外部访问,也可以被继承; 2) 私有成员不能被外部访问,也不能被继承; 3) 受保护的成员不能被外部访问,但可以被继承。 把基类指针强制转换为派生类指针 公有派生类的对象可作为 其相应基类的对象处理。 public: protected: private: public: protected: private: 派生类指针 范围 基 类 指 针 范 围

使用成员函数 派生类可以访问基类的公有成员和受保护成员。 派生类不能访问基类的私有成员。 在派生类中重定义基类成员 派生类可以重新定义基类的成员函数。(重载) 在派生类引用该函数时,会首先调用派生类中的版 本 class Employee class Hourly Worker void printo const void print() const base class derived class
使用成员函数 派生类可以访问基类的公有成员和受保护成员。 派生类不能访问基类的私有成员。 在派生类中重定义基类成员 派生类可以重新定义基类的成员函数。(重载) 在派生类引用该函数时,会首先调用派生类中的版 本。 class Employee void print() const base class class HourlyWorker void print() const derived class

公有的、受保护的和私有的基类 继承有三种:公有、受保护和私有继承 公有继承 基类的 public成为派生类的 public 基类的 protected成为派生类的 protected 受保护继承 基类的 public和 protected成为派生类的 protected 私有继承: 基类的 public和 protected成为派生类的 private 直接基类和间接基类 直接基类是直接派生而来,间接基类则是经过多层次派生 得到的
公有的、受保护的和私有的基类 继承有三种:公有、受保护和私有继承。 公有继承: 基类的public成为派生类的public。 基类的protected成为派生类的protected。 受保护继承: 基类的public和protected成为派生类的protected。 私有继承: 基类的public和protected成为派生类的private 直接基类和间接基类 直接基类是直接派生而来,间接基类则是经过多层次派生 得到的

公有继承举例7-1 c1 ass Point//基类 Point类的声明 pub1ic://公有函数成员 void InitP(float xx=0, float yy=0) I X= xx, Y= yYi void Move(float xoff, float yoff [ x+= xOff; Y + yoff; j float Getxo[ return xi float Getyo return Yi private://私有数据成员 float XY
公有继承举例 7-1 class Point //基类Point类的声明 { public: //公有函数成员 void InitP(float xx=0, float yy=0) { X = xx; Y = yy; } void Move(float xOff, float yOff) { X += xOff; Y += yOff; } float GetX() { return X; } float GetY() { return Y; } private: //私有数据成员 float X,Y; };
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C++程序设计教程》教学资源(PPT课件讲稿)第8讲 继承与派生(2/2).ppt
- 《C++程序设计教程》教学资源(PPT课件讲稿)第9讲 运算符重载.ppt
- 《C++程序设计教程》教学资源(PPT课件讲稿)第10讲 运算符重载.ppt
- 《C++程序设计教程》教学资源(PPT课件讲稿)第11讲 虚函数(1/2).ppt
- 《C++程序设计教程》教学资源(PPT课件讲稿)第12讲 虚函数(2/2).ppt
- 《C++程序设计教程》教学资源(PPT课件讲稿)MFC简介.ppt
- 《C++程序设计教程》教学资源(PPT课件讲稿)第2讲 MFC简介.ppt
- 《C++程序设计教程》教学资源(PPT课件讲稿)复习.ppt
- 《C++程序设计教程》教学资源(讲义)FORTRAN.doc
- 《C++程序设计教程》教学资源(PPT课件讲稿)第1讲 绪论.ppt
- 清华大学:《多媒体技术》课程教学资源(教材教案讲义)附录ABC.doc
- 清华大学:《多媒体技术》课程教学资源(教材教案讲义)教材介绍.doc
- 清华大学:《多媒体技术》课程教学资源(教材教案讲义)课程介绍.doc
- 清华大学:《多媒体技术》课程教学资源(教材教案讲义)附录B:术语汇编.doc
- 清华大学:《多媒体技术》课程教学资源(教材教案讲义)第24章 JavaScript使用.doc
- 清华大学:《多媒体技术》课程教学资源(教材教案讲义)第23章 可扩展超文本标记语言(XHTML).doc
- 清华大学:《多媒体技术》课程教学资源(教材教案讲义)第22章 可扩展标记语言(XML).doc
- 清华大学:《多媒体技术》课程教学资源(教材教案讲义)第21章 超文本标记语言(HTML).doc
- 清华大学:《多媒体技术》课程教学资源(教材教案讲义)第20章 多媒体通信系统技术.doc
- 清华大学:《多媒体技术》课程教学资源(教材教案讲义)第19章 网际多目标广播简介.doc
- 《C++程序设计教程》教学资源(PPT课件讲稿)第7讲 MFC简介.ppt
- 《C++程序设计教程》教学资源(PPT课件讲稿)第6讲 数组、指针与字符串.ppt
- 《C++程序设计教程》教学资源(PPT课件讲稿)第5讲 C++程序的结构.ppt
- 《C++程序设计教程》教学资源(PPT课件讲稿)第4讲 类与对象.ppt
- 《C++程序设计教程》教学资源(PPT课件讲稿)第3讲 更好的C.ppt
- 《C++程序设计教程》教学资源(PPT课件讲稿)第2讲 C++简单程序设计.ppt
- 《C++程序设计教程》教学资源(讲义)PASCAL.doc
- 《计算机文化基础》创造计算机的神话——比尔·盖茨.ppt
- 《计算机文化基础》课程教学资源(讲解内容).doc
- 《计算机图形学》课程教学资源:第1章 绪论.ppt
- 《计算机图形学》课程教学资源:第2章 图形系统.ppt
- 《计算机图形学》课程教学资源:第3章 基本图形生成算法.ppt
- 《计算机图形学》课程教学资源:第4章 图形变换.ppt
- 《计算机图形学》课程教学资源:第5章 曲线和曲面.ppt
- 《计算机图形学》课程教学资源:第6章 几何造型.ppt
- 《计算机图形学》课程教学资源:第7章 消隐.ppt
- 《计算机图形学》课程教学资源:第8章 真实图形.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第一章 Hello. C!.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第二章 基本数据类型.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第三章 运算符与表达式.ppt