设置成员访问级别
===================
protected :在类的保护区域内的数据成员和成员函数不提供给一般的程序只提供给派生类。
Private : 放在基类的私有区域内的成员只能供该类自己使用,派生类不能使用。
非公有的成员到底应该声明为protected还是private类成员是新的设计准则。如果希望防止派生类直接访问某个成员,就可以设计为基类的private成员。如果确信某个成员提供了派生类需要直接访问的操作或数据存储,而且通过这个成员,派生类的实现会更有效,则应该声明为protected。
虚函数
===================
某些成员函数是与类型相关的,它的算法是由特定类型的行为或实现来决定的,那么这种成员函数应该定义为虚函数(关键字 virtual)。
虚函数调用要等到运行时刻才会决定。系统根据被调对象的实际类型来决定选择哪一个虚拟函数实例。
类的继承
===================
- 类继承的定义:
class IntArrayRC : public IntArray
冒号定义了IntArrayRC 是从IntArray 派生而来的(关键字public 表明派生类共享基类的公有接口,IntArrayRC 类型的对象可以用在任何可以使用基类类型对象的位置上)
- 为什么需要类继承?
当IntArrayRC 类继承了IntArray 类时,它就可以访问IntArray 的数据成员和成员函数,而不要求我们维护两份代码拷贝,派生类只需提供实现其额外语义所必需的数据成员和成员函数。
- 派生类对象实际由以下几部分组成:
1. 每个基类是派生类的子对象,它在派生类中占有独立的一部分。
2. 此外派生类对象还包含一些派生类自己定义的数据成员。
- 派生类对象的初始化过程:
首先自动调用每个基类的构造函数来初始化相关的基类子对象然后再执行派生类的构造函数
- 派生类构造函数:
基类的构造函数是不会被派生类继承的,所以派生类需要提供自己的构造函数(带参的构造函数)。
派生类的构造函数提供了向基类构造函数传递参数的接口。
- 其他继承方式:
多继承(multiple inheritance)和虚拟继承(virtual inheritance),这里暂不讨论。
原文链接: https://www.cnblogs.com/JaneTang/archive/2010/02/08/1666004.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/8093
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!