目录
抽象类
● 抽象类: 不用于定义对象而只作为一种基本类型用做继承的类,称为抽象类, 由于它常用于做基类, 通常称为抽象基类。
那么凡是包含纯虚函数的类都是抽象类, 抽象类是一种特殊的类, 是为了抽象和设计的目的而建立的, 处于继承层次结构的较上层。 我们在实际中为了强调一个类是抽象类, 可将该类的构造函数声明为 保护的访问控制权限, 这样我们就不能 在类外创建抽象类的对象,这样我们就可以在抽象类中的派生类中的构造函数对抽象类的成员数据做初始化。
● 抽象类的主要作用是将有关的类、组织在一个继承层次结构中, 由抽象类来为它们提供一个公共的接口。 相关的派生类的从这个
抽象类派生出来。抽象类刻画了一组派生类的操作接口的通用语义,这些语义也传给了派生类。 一般而言, 抽象类只描述这组派生类公共的操作接口, 而完整的实现留给派生类。 使用抽象类时应注意的问题:
抽象类只能用作其他类的基类, 不能创建抽象类的对象, 因为它的纯虚函数没有定义功能, 其纯虚函数的实现由派生类给出。
但是可以用 基类指针 或 引用 指向 公有(不能是私有或者 保护的)派生类对象(该派生类对象,必须是个具体类,即派生类实现了抽象类中的同名虚函数,不再是个纯虚函数, 否则的话不可以用基类指针 或 引用 指向),然后我们就可以