中国高校课件下载中心 》 教学资源 》 大学文库

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

文档信息
资源类别:文库
文档格式:PPT
文档页数:17
文件大小:115KB
团购合买:点击进入团购
内容简介
一、继承: inheritance 二、用现有的类建立新类,在新类中继承了现有类的属性和行为,新类还可以对这些行为和属性 进行修饰。
刷新页面文档预览

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; };

共17页,试读已结束,阅读完整版请下载
刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档