背景知识
在C++语言中,基类将类型相关的函数与派生类类不会做改变直接继承的函数区别对待。对于某些函数,基类希望它的派生类各自定义适合自身的版本,此时基类就将这些函数声明成虚函数。
什么是虚函数
虚函数,又有虚函数和纯虚函数,
虚函数,
用于定义类型特定行为的成员函数。通过引用或者指针对虚函数的调用直到运行时才被解析,依据是引用或者指针所绑定的对象
用于当你希望派生类重新定义该函数,而且对该函数已有默认的定义.
纯虚函数,
在类的内部声明虚函数时,在分号之前使用看=0。一个纯虚函数不需要(但是可以)被定义。含有纯虚函数的类时抽象基类。如果派生类没有对继承而来的纯虚函数定义自己的版本,则派生类也是抽象的
用于当你希望派生类一定要重新定义它,你对它没有默认定义
如下实例,
class Shape{
virtual void draw() const = 0;//纯虚函数
virtual void error(const std::string &map);//虚函数
int objectID() const;//非虚函数
};