C++语言程序设计 教学课件 ppt 作者 邓振杰 第09章
88页1、第9章 继 承 性,9.1 基类和派生类 9.2 单 继 承 9.3 多 继 承 9.4 虚 基 类,继承性是面向对象程序设计的一种重要功能,是实现代码复用的一种形式。继承可以使程序设计人员在一个已存在类的基础上很快建立一个新的类,而不必从零开始设计新类。新设计类能够具有原有类的属性和方法,并且为了使新类具有自己独特的功能,新类还要添加新的属性和方法。 当一个类被其他的类继承时,被继承的类称为基类,又称为父类、超类。继承其他类属性和方法的类称为派生类,又称为子类、继承类。,9.1 基类和派生类,9.1.1 派生类的定义 派生能用从派生类到基类的箭头图形表示,箭头指向基类表示派生类引用基类中的函数和数据,而基类则不能访问派生类,如图9-1所示。任何一个类均可作为基类。仅从一个基类派生的继承称为单继承。,图9-1 派生,单继承声明语句的一般形式为: class : 数据成员和成员函数声明 ,基类可分为两类:直接基类和间接基类。如果某个基类在基类列表中提及,则称它是直接基类。例如: class A ; class B:public A /类A为直接基类。 ;,间接基类可写为: class A
2、 ; class B:public A ; class C:public B /类A是间接基类,可扩展到任意级数 ;,9.1.2 继承方式 继承方式有3种:公有继承方式(public)、私有继承方式(private)和保护继承方式(protected)。,9.1.2.1 公有继承 在公有派生类中: (1)基类的公有成员在派生类中仍是公有成员。 (2)基类的保护成员在派生类中仍是保护成员。 (3)基类的私有成员在派生类中是不可访问的。,9.1.2.2 私有继承 在私有派生类中: (1)基类的公有成员在派生类中是私有成员。 (2)基类的保护成员在派生类中是私有成员。 (3)基类的私有成员在派生类中仍是不可访问的。,9.1.2.3 保护继承 在保护派生类中: (1)基类的公有成员在派生类中是保护成员。 (2)基类的保护成员在派生类中是保护成员。 (3)基类的私有成员在派生类中仍是不可访问的。,9.2 单 继 承,9.2.1 单继承中的成员访问权限 (1)公有成员:一个类的公有成员允许本类的成员函数、本类的对象、公有派生类的成员函数、公有派生类的对象访问。,(2)私有成员:一个类的私有成员只允
3、许本类的成员函数访问。 (3)保护成员:具有私有成员和公有成员的特征。一个类的保护成员允许本类的成员函数、公有派生类的成员函数访问。本类的对象、公有派生类的对象不能访问。,【例9.1】成员访问权限举例。 class A /基类 private: int privA; protected: int protA; public: int pubA; ;,class B : public A /派生类 public: void fn() int a; a = privA; /错误:不可访问 a = protA; /有效 a = pubA; /有效 ;,void main() A a; /基类对象 a.privA = 1; /错误:不可访问 a.protA = 1; /错误:不可访问 a.pubA = 1; /有效 B b; /派生类对象 b.privA = 1; /错误:不可访问 b.protA = 1; /错误:不可访问 b.pubA = 1; /有效 ,【例9.2】分析下面的程序。 #include “iostream.h“ class A private: int x; public:
4、 void f1(int a); int f2(); ;,class B:public A private: int y; public: void g1(int a); int g2(); ;,void A:f1(int a) x=a; int A:f2() return x; ,void B:g1(int a) y=a; int B:g2() return y+f2(); ,void main() B b; b.f1(10); b.g1(10); coutb.g2()endl; 运行程序,输出结果为:20,9.2.2 构造函数和析构函数 9.2.2.1 构造函数 派生类的数据是由基类中的数据和在派生类中新定义的数据组成。由于构造函数不能够继承。因此,在定义派生类的构造函数时,除了对自己新定义的数据成员进行初始化外,还必须调用基类的构造函数使基类的数据成员得以初始化。,【例9.3】分析下面的程序。 class Base protected: int a; public: Base() a = 0; /默认构造函数 Base(int c) a = c; /单参数构造函数 ;,class
《C++语言程序设计 教学课件 ppt 作者 邓振杰 第09章》由会员E****分享,可在线阅读,更多相关《C++语言程序设计 教学课件 ppt 作者 邓振杰 第09章》请在金锄头文库上搜索。
逍遥游复习 知识点整理
近现代法德关系史 高三展示课3稿
当代大学生人生信仰及追求的调查研究
长相思 纳兰性德-ppt课件
课件:危机意识 一
英语ppt演讲关于阿甘正传
发达国家基础教育改革的动向与趋势 修改版
中国民间美术 课件.ppt
生物质发电技术与系统 课程ppt 第1章 生物质发电技术现状及发展趋势 2学时 -----2016
现代信号处理思考题 含答案
执业药师继续教育 抑郁症的药物治疗 100分
小学生的成长档案模板不用修改 万能型
增订六版 现代汉语 上册 第二章文字 思考与练习答案
国家财政ppt课件
加拿大英语介绍
六年级统计图的选择课件
中学生成长档案ppt
中国现代文学史期末复习整理
lohi和hihilo训练对女子赛艇运动员运动能力影响的比较研究
风雨贾平凹阅读答案
2024-05-07 48页
2024-05-07 41页
2024-05-07 36页
2024-05-07 33页
2024-05-07 43页
2024-05-07 30页
2024-05-07 27页
2024-05-07 31页
2024-05-07 44页
2024-05-07 39页