计算机等级考试二级C 考点分析之继承和派生

文章作者 100test 发表时间 2007:03:10 17:03:50
来源 100Test.Com百考试题网


7.1 继承和派生
考点1 继承和派生的基本概念
  继承的实质就是建造新的派生类。派生类从一个或多个以前定义的基类继承数据和函数,同时增加或重新定义数据和操作。这就产生了类的层次性。换句话说,继承就是创建一个具有别的类属性和行为的新类的能力。我们把这种通过特殊化已有的类来建立新类的过程,叫做“类的派生”,原有的类叫做“基类”,新建立的类叫做“派生类”从类的成员角度来看,派生类自动地将基类的所有数据成员和除了构造,析构函数之外的全部成员函数作为自己的成员,这叫做“继承”。基类和派生类又可以分别叫做“父类”和“子类”。在C 中有两种继承:单继承和多继承。对于单继承,派生类中只能有一个基类;对于多继承,派生类可以有多个基类。单继承和多继承的基类和派生类的关
考点2 派生类的定义与构成
  在C 中,定义派生类的一般形式为:
  单继承的定义如下:
  class<派生类名>:<继承方式><基类名>

<派生类新定义的成员>
};
  多继承的定义如下:
  class<派生类名>:<继承方式1><基类名1>,
<继承方式2><基类名2>,
    …
<继承方式n><基类名n>
{
<派生类新定义的成员>
};
  其中,<继承方式>即派生类的访问控制方式,用于规定基类成员在派生类中的访问权限,即基类成员在派生类中是公有的、私有的或保护的。常用的3种继承方式是公有继承(public),私有继承(private)和保护继承(protected)。缺省的类继承方式是私有继承private .
  <派生类新定义的成员>是指定义的派生类自己的成员(除了从基类继承来的所有成员之外,新增加的数据成员和函数成员)。
  派生类的成员由两部分构成:一部分是从基类继承得到的,一部分是自己定义的新成员,所有这些成员仍然分为公有(public),私有(private)和保护(protected)3种访问性质。
7.2 派生类对基类成员的访问
考点3 派生类对基类成员的访问
  派生类继承了基类的全部数据成员和除了构造、析构函数之外的全部成员函数,但这些成员在派生类中的访问属性在派生过程中通过继承方式是可以调整的。通过公有继承(public),私有继承(private)和保护继承(protected)3种继承方式将具有公有(public),私有(private)和保护(protected)3种访问属性的基类成员在派生类中具有了新的访问属性。表7-l描述了派生类的继承访问属性。
  从上表可以看出:
  (l)基类中的私有成员在派生类中是不可见的,只能在基类内部访问。
  (2)派生类中的成员不能访问基类中的私有成员,但可以访问基类中的公有成员和保护成员。
  (3) 在公有继承时,派生类的对象可以访问基类中的公有成员;派生类的成员函数可以访问基类中的公有成员和保护成员。
  (4)在私有继承和保护继承时,基类的私有成员只能在基类内部访问,而无法再往下继承。
小提示:
  在派生关系中,构造函数和析构函数是不能被继承的。
7.3 派生类的构造函数和析构函数
考点4 派生类的构造函数和析构函数
1.构造函数
由于构造函数不能被继承,因此,派生类的构造函数必须通过调用基类的构造函数来初始化基类成员所以,在定义派生类的构造函数时除了对自己的数据成员进行初始化外,还必须负责调用基类的构造函数使基类的数据成员得以初始化。如果派生类中还有其他类的对象成员时,还应包含对对象成员初始化的构造函数。派生类的构造函数的一般定义形式为:
  <派生类名>::<派生类名>(<总参数表>):<基类名1>(<参数表1>),
    …
<基类名n>(<参数表n>),
<成员对象名1><参数表n 1>,

相关文章


计算机等级考试二级C语言模拟试题(2)
等级考试二级C 考点分析之数组、指针与引用
计算机等级考试二级C 考点分析之继承和派生
计算机等级考试二级C语言模拟试题(1)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛