虚函数,
简单来说,就是在某基类中声明为virtual并在一个或者多个派生类中被重新定义的成员函数。虚函数的作用,就是实现多态性,多态性是将接口与实现进行分离;用形象的语言来解释就是实现以共同的方法,但因个体差异,而采用不同的策略。
构造虚函数的注意事项:
1. 非类的成员函数不能定义为虚函数,类的成员函数中静态成员函数和构造函数也不能定义为虚函数,但可以将析构函数定义为虚函数。许多的优秀程序猿常常把基类的析构函数定义为虚函数,这样在delete基类的衍生类对象时,系统就会对应的调取派生类的析构函数,而不是只调取基类的析构函数;
2. 只需要在声明函数的类体中使用关键字virtual将函数声明为虚函数,而在定义函数时不需要使用关键字virtual;
3. 将基类中的某一成员函数定义为虚函数,则派生类中的同名函数自动成为虚函数;
4. 如果声明了某一个成员函数为虚函数,则在该类中不能再出现和这个成员函数同名并且返回值、参数个数、类型都相同的非虚函数。在以该类为基类的派生类中也不能出现这种同名函数;