文章目录
- 1.派生类的说明
- 2.派生类的构成
1.派生类的说明
- (1) 用作基类的类必须是已定义的, 其原因是显而易见的: 每个派生类包含并且可以访问其基类的成员, 为了使用这些成员, 派生类必须知道它们是什么。
这一规则说明不可能从类自身派生出一个类。 - (2) 如果需要声明(但并不实现) 一个派生类, 则只需要声明类名即可。
例如:
- (3) 显然, 在一个派生类中, 其成员由两部分构成: 一部分是从基类继承得到的, 另一部分是自己定义的新成员, 所有这些成员仍然分为public(公有) 、 private(私有) 和protected(保护) 三种访问属性。
- (4) 友元关系不能继承。
一方面, 基类的友元对派生类的成员没有特殊访问权限。 另一方面, 如果基类被授予友元关系, 则只有基类具有特殊访问权限, 该基类的派生类不能访问授予友元关系的类。 - (5) 如果基类定义了静态成员, 则整个继承层次中只有一个这样的成员。
无论从基类派生出多少个派生类, 每个静态成员只有一个实例。 - (6) 静态成员遵循常规访问控制: 如果静态成员在基类中为私有的, 则派生类不能访问它。
如果该静态成员在基类是公有的, 则基类可以访问它, 派生类也可以访问它。 - (7) 一般地, 可以使用作用域运算符(::),也可以使用对象成员引用运算符(. ) 或指针成员引用运算符(->) 访问静态成员。
2.派生类的构成
- 实际编程中, 设计一个派生类包括4个方面的工作:
(1) 从基类接收成员。
►除了构造函数和析构函数, 派生类会把基类全部的成员继承过来。
这种继承是没有选择的, 不能选择接收其中一部分成员, 而舍弃另一部分成员。
(2) 调整基类成员的访问。
►派生类接收基类成员是程序员不能选择的, 但是程序员可以对这些成员作出访问策略。
(3) 修改基类成员
►可以在派生类中声明一个与基类成员同名的成员, 则派生类中的新成员会覆盖基类的同名成员, 就实现了修改基类成员功能的效果。
(4) 在定义派生类时增加新的成员。
►一般还应当自己定义派生类的构造函数和析构函数。 - eg: