文章目录
虚函数
在基类中声明为virtual,并在一个或多个派生类中被重新定义的成员函数
作用:运行时多态,基类中提供虚函数的实现,为子类提供默认的函数实现。子类可以重写基类的虚函数实现子类的特殊化。
纯虚函数
作用:在基类中不能对虚函数给出有意义的实现,它的实现留给该基类的派生类去做
包含纯虚函数的类,被称为抽象类。纯虚函数也是一种“运行时多态”。
格式:virtual double getVolume() = 0;
抽象类(缩写ABC)
类中至少有一个函数被声明为纯虚函数,则这个类是抽象类。
C++接口(使用抽象类来实现):接口描述了类的行为和功能,而不需要完成类的特定实现。
设计抽象类的目的,是为了给其他类提供一个可以继承的适当的基类。抽象类不能被用于实例化对象,只能作为接口使用。如果实例化一个抽象类的对象,会导致编译错误。抽象类与数据抽象互不混淆,数据抽象是一个把实现细节与相关的数据分离开的概念。
如果抽象类的子类需要被实例化,则必须实现每个虚函数。
可用于实例化对象的类被称为具体类
。