1、纯虚函数的格式:
virtual 返回类型 函数名(参数列表) = 0;
纯虚函数没有实现体。
2、含有纯虚函数的基类成为抽象类(抽象类不能实例化)。
3、继承抽象类的子类可以实现纯虚函数,也可以不实现,若不实现纯虚函数,则该子类中仍然还有这个纯虚函数,也就是说该子类仍然是抽象类。
4、纯虚函数存在的意义就等同于java中的interface,抽象类就是c++中的interface(只不过c++中并不这么叫它),目的就是为了给族类提供一个公共接口。
举个例子:
class Animal
{
public:
Animal();
~Animal();
virtual void voice() = 0;
};
Animal::Animal()
{
cout << "Animal()" << endl;
}
Animal::~Animal()