继承与派生.ppt

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
继承与派生.ppt

* 六、继承在软件开发中的重要意义 继承是面向对象技术的一个重要内容。有了继了继承,使软件的重用成为可能。 编写面向对象的程序对要把注意力放在实现对自己有用的类上面,对已有的类加以整理和分类,进行修剪(继承方式),在此基础上集中精力编写派生类新增加的部分,使这些类能够被程序设计的许多领域使用。 * 继承是C++和C的最重要的区别之一。不同的C++编译系统提供的由不同厂商发的类库一般是不同的。 对类库中类的声明一般放在头文件中,类的实现(函数的定义部分)是单独编译的,目标代码形式存放在系统某一目录下。用户使用类库时,不需要了解源代码,但必须知头文件的使用方法和怎样去连接这些目标代码(在哪个子目录下),以便源程序在编译后与之连接。 * 理解继承与派生的概念,掌握单继承和多继承的定义方式; 掌握继承的几种方式:public继承、private继承和protected继承,以及在不同继承方式下基类成员在派生类中的访问属性的差别; 熟悉派生类构造函数的定义和执行顺序; 同名隐藏(覆盖)规则 本章小结 * 第5章 习题1、2、5、7; 习题5 交实验报告  实验内容 * * * * * * * * * * * * * 基类成员在派生类中的访问属性 继承方式 基类成员 在派生类中的访问属性 公有继承 public protected private public protected 不可访问 私有继承 public protected private private private 不可访问 保护继承 public protected private protected protected 不可访问 * 类A为基类,类B是类A的派生类,类C是类B的派生类,则类C也是类A的派生类; 类B称为类A的直接派生类,类C称为类A的间接派生类; 类A是类B的直接基类,是类C的间接基类。 例5.4: 多层派生的访问属性。 四、多级派生时的访问属性 B C A 多级派生 * class A // 例5-4 { public:  int i; protected:  void f2();  int j; private:  int k; }; class B: public A {public:  void f3(); protected: void f4(); private: int m;  }; class C: protected B { public:   void f5();  private:   int n; }; * 例5.4 各成员在不同类中的访问属性 A 基类A 公有派生类B 保护派生类C i 公有 公有 保护 f2 保护 保护 保护 j 保护 保护 保护 k 私有 不可访问 不可访问 B f3 公有 保护 f4 保护 保护 m 私有 不可访问 C f5 公有 n 私有 * 5.5 派生类的构造函数和析构函数 声明构造函数时,只需要对本类中新增成员进行初始化,对继承来的基类成员的初始化,自动调用基类构造函数完成。 派生类的构造函数需要给基类的构造函数传递参数。 * 一、简单的派生类的构造函数 简单的派生类只有一个基类,只有一级派生,且派生类的数据成员不包含其它类的对象; (单级派生+非多重派生) 建立一个派生类对象时,构造函数的执行顺序是: (1) 调用基类的构造函数; (2) 执行派生类的构造函数体中的内容。 * #include iostream //例5.5 √ #include string using namespace std; class Student { public: Student(int n,string nam,char s ) { num=n; name=nam; sex=s; } void display( ) {coutnum: numendl; coutname: nameendl; coutsex: sexendl;} protected : int num; string name; char sex; }; class Student1: public Student {public: Student1(int n,string nam,char s, int a, string ad) : Student(n,nam,s) { age=a; addr=ad; } void display_1()

文档评论(0)

此项为空 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档