全国计算机二级考试C++教程4.pptVIP

  • 1
  • 0
  • 约2.96万字
  • 约 134页
  • 2018-04-15 发布于江西
  • 举报
全国计算机二级考试C教程4

第四章 派生类继承 本章主要内容 类的继承与派生 单继承、类成员的访问控制 多继承 派生类的构造、析构函数 虚基类 实例 学习要求:继承是面向对象程序设计的重要特点之一,继承能提高软件的重用性。通过本章的学习,要求掌握以下内容: 1、能通过继承已有的类建立新类; 2、掌握继承的三种方式:公有继承、保护继承、私有继承; 3、掌握派生类和基类的概念; 4、掌握派生类的构造函数和析构函数; 5、理解多重继承和虚继承。 一、类的继承与派生 继承与派生问题举例 继承与派生问题举例 1.2 继承与派生的目的 继承的目的:实现代码重用。 派生的目的:当新的问题出现,原有程序无法解决(或不能完全解决)时,需要对原有程序进行改造。 派生类的定义 class 派生类名:继承方式 基类名1, …. { 成员定义; } 多继承:一个派生类有多个基类; 单继承:一个派生类只有一个基类。 class Mammal{ //定义一个基类 protected: int itsAge; int itsWeight; public: int GetAge() {return itsAge;} void SetAge(int age) {itsAge=age;} int GetWeight() {return itsWeight;} void SetWeight(int itsWeight); }; class Dog:public Mammal{ //定义一个派生类 private: char itsColor[10]; public: char GetColor {return itsColor;} void SetColor(char *color) {strcpy(itscolor,color);} void WagTail(){cout “ 尾巴摇摇…\n”;} }; 类的成员属性:protected 2.3 protected 成员的特点与作用 对建立其所在类对象的模块来说(水平访问时),它与 private 成员的性质相同。 对于其派生类来说(垂直访问时),它与 public 成员的性质相同。 既实现了数据隐藏,又方便继承,实现代码重用。 protected 成员举例 class A { protected: int x; } int main() { A a; a.x=5; //错误 } class A { protected: int x; } class B:public A{ public: void Function(); }; void B:Function() { x=5; //正确 } 二 不同继承方式的基类和派生类特性 2.1 继承方式 共有三种继承方式:公有继承(public),私有继承(private),保护继承(protected)。 继承方式指定派生类成员以及类外对象对继承来的成员的访问权限。 不同继承方式的影响主要体现在: 1、派生类成员对基类成员的访问控制。 2、派生类对象对基类成员的访问控制。 公有继承(public) 基类的public和protected成员的访问属性在派生类中保持不变,但基类的private成员不可访问。 派生类中的成员函数可以直接访问基类中的public和protected成员,但不能访问基类的private成员。 派生类的对象只能访问基类的public成员。 私有继承(private) 基类的public和protected成员都以private身份出现在派生类中,但基类的private成员不可访问。 派生类中的成员函数可以直接访问基类中的public和protected成员,但不能访问基类的private成员。 派生类的对象不能访问基类中的任何成员。 保护继承(protected) 基类的public和protected成员都以protected身份出现在派生类中,但基类的private成员不可访问。 派生类中的成员函数可以直接访问基类中的public和protected成员,但不能访问基类的private成员。 派生类的对象不能访问基类中的任何成员. 2.2 继承后成员特性 公有继承举例 class Location { public: void InitL

文档评论(0)

1亿VIP精品文档

相关文档