NO8类的继承与派生电子课件 C++程序设计案例教程中职 高二 工信版

2023-01-04
| 39页
| 63人阅读
| 0人下载
普通

内容正文:

类的继承与派生 面向对象程序设计的主要特征之一是继承。在程序开发中,一些类的数据成员和成员函数的内容基本或者相当一部分相同,在建立新类时,就可以继承原有类的相同或者相似部分,再加入自己的新内容,实现代码重用,减少重复的工作量,提高软件开发效率。 派生类继承的基类数据成员的初始化工作是在派生类中实现的。派生类对象建立时,系统调用派生类构造函数,在执行派生类构造函数前,先调用基类构造函数以及子对象构造函数,再执行派生类构造函数。 系统调用析构函数的顺序与调用构造函数的顺序正相反。 由于C++语言允许派生类的多重继承,造成派生类继承的相同基类数据成员的副本可能有若干份,C++系统提供了虚基类的方法来解决这个问题。 目录 第8章 C++程序设计案例教程 8.1 创建派生类 软件开发中,不同的类中的数据成员和成员函数的内容可能不同,也可能相似。如果新建一个类,其部分数据成员或者成员函数内容已经在已有的其他类中存在,就可以采用继承的方式使得已经存在的成员成为自己的一部分,再加上新的内容即可。继承过程中,原有的类称为“基类(base class)”或者“父类(father class)”,新建的类称为“派生类(derived class)”或者“子类(son class)”。 目录 第8章 C++程序设计案例教程 8.1.1 派生类的定义 Add your text in here Click to add Text 在简单图形系统中定义类图形 案例引入 定义一个基类Graph和派生类Rectangle,其中,主函数内Rectangle对象调用Graph成员函数和Rectangle成员函数。 目录 第8章 C++程序设计案例教程 8.1.1 派生类的定义 源代码展示 #include <iostream> using namespace std; //定义基类 class Graph { protected: int g1,g2; public: void getValue() { cout<<"Please input numbers to g1 and g2:"<<endl; cin>>g1>>g2; } void display() { cout<<"g1="<<g1<<" ,g2="<<g2<<endl; } }; …… 目录 第8章 C++程序设计案例教程 8.1.1 派生类的定义 运行结果 目录 第8章 C++程序设计案例教程 8.1.1 派生类的定义 程序分析 目录 第8章 C++程序设计案例教程 知识讲解 派生类声明的方式 派生类的构成 假定已经存在一个基类,在此基础上通过继承建立一个派生类,声明的方式如下: class 派生类名:[继承方式] 基类名 { 派生类新增的成员 }; 继承的方式包括public(公有的)、private(私有的)和protected(受保护的)。继承方式是可选的,如果不写此项,则系统默认为private。 在为派生类选择基类时,应尽量使冗余量最小。派生类虽然从基类接受了所有的成员,但并非可以访问所有成员,因为不同的继承方式使基类的成员到派生类后访问属性发生了变化。 如果派生类新增的成员函数与继承的成员函数不仅同名,而且函数的参数表也完全相同,即非函数重载,则派生类新增的成员函数将覆盖继承的成员函数。 目录 第8章 C++程序设计案例教程 8.1.2 派生类成员的访问属性 Add your text in here Click to add Text 通过为基类成员定义不同的访问属性, 了解访问基类成员的方式 案例引入 在基类中定义3种不同访问属性的成员,在派生类成员函数内或通过派生类对象调用这些基类成员,观察其区别。 目录 第8章 C++程序设计案例教程 8.1.2 派生类成员的访问属性 源代码展示 #include <iostream> using namespace std; class Graph { private: int g1,g2; protected: int g3,g4; public: int g5,g6; void getValue() { cout<<"Input private data g1 and g2"<<endl; cin>>g1>>g2; cout<<"Input protected data g3 and g4"<<endl; cin>>g3>>g4; cout<<"Input public data g5 and g6"<<endl; cin>>g5>>g6; cou

资源预览图

NO8类的继承与派生电子课件  C++程序设计案例教程中职  高二 工信版
1
NO8类的继承与派生电子课件  C++程序设计案例教程中职  高二 工信版
2
NO8类的继承与派生电子课件  C++程序设计案例教程中职  高二 工信版
3
NO8类的继承与派生电子课件  C++程序设计案例教程中职  高二 工信版
4
NO8类的继承与派生电子课件  C++程序设计案例教程中职  高二 工信版
5
NO8类的继承与派生电子课件  C++程序设计案例教程中职  高二 工信版
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。