计算机二级C++常见考点分析
C++相对众多的面向对象的语言,具有相当高的性能。下面是小编收集的计算机二级C++常见考点分析,希望大家认真阅读!
继承与派生
1?基本概念
派生类从基类继承了各种成员的关系就称为继承。
类的继承是新的类从已有类那里得到已有的特性。从已有的类产生新类的过程就是类的派生。在继承过程中,原有的类或已经存在的用来派生新类的类称为基类或父类,而由已经存在的类派生出的新类则称为派生类或子类。
从派生类的角度,根据它所拥有的基类数目不同,可以分为单继承和多继承。一个类只有一个直接基类时,称为单继承;而一个类同时有多个直接基类时,则称为多继承。
从上面的描述可知,任何一个类都可以派生出一个新类,派生类也可以再派生出新类,因此,基类和派生类是相对而言的,一个基类可以是另一个基类的派生类,从而形成了复杂的继承结构,出现了类的层次。基类与派生类之间的关系如下:
(1)基类是对派生类的抽象,派生类是对基类的具体化。基类抽取了它的派生类的公共特征,而派生类通过增加信息将抽象的基类变为某种有用的类型,派生类是基类定义的延续。
(2)派生类是基类的组合。多继承可以看作是多个单继承的简单组合。
(3)公有派生类的对象可以作为基类的对象处理。这一点与类聚集(成员对象)是不同的,在类聚集(成员对象)中,一个类的对象只能拥有作为其成员的其他类的对象,但不能作为其他类对象而使用。
2?派生类的定义与构成
定义派生类的一般格式如下:
class<派生类名>:<继承方式1><基类名1>,
<继承方式2><基类名2>,
……,
<继承方式n><基类名n>
{
<派生类新定义成员>
};
其中,<基类名>是已有的类的名称,<派生类名>是继承原有类的特性而生成的新类的名称。单继承时,只需定义一个基类;多继承时,需同时定义多个基类。
<继承方式>即派生类的访问控制方式,用于控制基类中声明的成员在多大的范围内能被派生类的用户访问。每一个继承方式,只对紧随其后的基类进行限定。继承方式包括3种:公有继承(public)、私有继承(private)和保护继承(protected)。如果不显式地给出继承方式,缺省的类继承方式是私有继承private。
派生类的构造函数和析构函数
1?派生类构造函数的一般格式如下:
<派生类名>::<派生类名>(<总参数表>):<基类名1>(参数表1),
……
<基类名n>(<参数表n>),
<成员对象名1>(<参数表n+1>),
……,
<成员对象名m>(<参数表n+m>)
{
<派生类构造函数体>
}
派生类的构造函数名与类名相同。在构造函数的参数表中,给出了初始化基类数据、成员对象数据以及新增的其他数据成员所需要的全部参数。在参数表之后,列出需要使用参数进行初始化的基类名和成员对象名以及各自的.参数名,各项之间使用逗号分隔。注意对基类成员和新增成员对象的初始化必须在成员初始化列表中进行。
当派生类有多个基类时,处于同一层次的各个基类的构造函数的调用顺序取决于定义派生类时声明的顺序(自左向右),而与在派生类构造函数的成员初始化列表中给出的顺序无关。如果派生类的基类也是一个派生类,则每个派生类只需负责它的直接基类的构造,依次上溯。
当派生类中有多个成员对象时,各个成员对象构造函数的调用顺序也取决于在派生类中定义的顺序(自上而下),而与在派生类构造函数的成员初始化列表中给出的顺序无关。
建立派生类对象时,构造函数的执行顺序如下:
(1)执行基类的构造函数,调用顺序按照各个基类被继承时声明的顺序(自左向右);
(2)执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明的顺序(自上而下);
(3)执行派生类的构造函数。
派生类的构造函数只有在需要的时候才必须定义。派生类构造函数提供了将参数传递给基类构造函数的途径,以保证在基类进行初始化时能够获得必要的数据。因此,如果基类的构造函数定义了一个或多个参数时,派生类必须定义构造函数。
如果基类中定义了缺省构造函数或根本没有定义任何一个构造函数(此时,由编译器自动生成缺省构造函数)时,在派生类构造函数的定义中可以省略对基类构造函数的调用,即省略“<基类名>(<参数表>)”。成员对象的情况与基类相同。
当所有的基类和成员对象的构造函数都可以省略,并且也可以不在成员初始化列表中对其他数据成员进行初始化时,可以省略派生类构造函数的成员初始化列表。
2?派生类的析构函数
与构造函数相同,派生类的析构函数在执行过程中也要对基类和成员对象进行操作,但它的执行过程与构造函数严格相反,即:
(1)对派生类新增普通成员进行清理。
(2)调用成员对象析构函数,对派生类新增的成员对象进行清理。
(3)调用基类析构函数,对基类进行清理。
派生类析构函数的定义与基类无关,与没有继承关系的类中的析构函数的定义完全相同。它只负责对新增普通成员的清理工作,系统会自己调用基类及成员对象的析构函数进行相应的清理工作。
-
2017年计算机二级考试MSOffice高级应用
计算机应用是研究计算机应用于各个领域的理论、方法、技术和系统等,是计算机学科与其他学科相结合的边缘学科。下面是小编整理的关于计算机二级考试MSOffice高级应用,欢迎大家参考!基本要求1.掌握计算机基础知识及计算机系统组成。2.了解信息安全的基本知识,掌握...
-
2017年计算机二级C语言模拟题及答案
1.1单选题1.下列变量名中,非法的是(C)。A.A25_car-str2.下列常量中,十六进制int型常量是(A)。A.0x5fB.x2aC.046D.7a3.下列常量中,不是字符常量的是(B)。A.'\n'B."y"C.'x'D.'\7'4.在函数体内定义了下述变量a,a的存储类为(D)。inta;A.寄存...
-
H3C云计算销售专家认证
H3C云计算销售专家认证是H3C公司推出的针对渠道销售人员资质评定的能力认证,通过该认证的学员已具备基本的云计算产品销售能力,对服务器、存储、云管理平台等云产品和行业应用有了基本了解,能够独立与客户进行日常交流并进一步挖掘用户需求。1.考试及费用代码名称...
-
2017年电大计算机应用基础考试试卷
计算机网络是现代通信技术与计算机技术相结合的产物。计算机网络己在现代企业的管理中发挥着越来越重要的作用,如银行系统、商业系统、交通运输系统等。本站小编分享一套电大计算机应用基础考试试卷,希望大家认真练习!一、单选题1、微型计算机属于计算机的______...