C++纯虚函数介绍
纯虚函数是在基类中声明的虚函数,在基类中没有定义,但是要求任何派生类(子类)都要定义该虚函数自己的实现方法。
基类中实现纯虚函数方法在函数原型后面加一个等于0.
一旦一个类中有纯虚数,就不能生成这个类的对象。这个类就是 抽象类了。抽象类 不能用来生成对象,主要目的是用来统一管理子类对象。
- 含有纯虚函数的类是抽象类,不能用来生成该类的对象,主要用于当做基类,用来生成子类。
- 子类中必实现基类中的纯虚函数。
class Human {
public:
//声明成纯虚函数
virtual void eat() = 0 ;//纯虚函数,没有函数体,只有函数声明,virtual 必须加,否则报错。
};
class Man : public Human //表示Men是Humen的子类
{
public:
virtual void eat2() override {};//子类中必须实现纯虚函数
};//类结尾一定要分号
Human human;//报错,
Human *p = new Human:////报错,
Human* p = new Man;
p->eat2();//调用Man中的eat2.