(一) 定义虚函数的语法结构式: virtual 函数类型 虚函数名称(参数列表); 利用虚函数可以实现多态性,即同一接口,实现不同功能。
(二) 定义虚函数注意事项:
1,非类的成员函数不能定义为虚函数,类的成员函数中静态成员函数和构造函数也不能定义为虚函数,但可以将析构函数定义为虚函数。实际上,优秀的程序员常常把基类的析构函数定义为虚函数。因为,将基类的析构函数定义为虚函数后,当利用delete删除一个指向派生类定义的对象指针时,系统会调用相应的类的析构函数。而不将析构函数定义为虚函数时,只调用基类的析构函数。
2,只需要在声明函数的类体中使用关键字virtual将函数声明为虚函数,而定义函数时不需要使用关键字virtual。
3,当将基类中的某一个成员函数声明为虚函数后,派生类中的同名函数自动成为虚函数。
4,如果声明了某个成员函数为虚函数,则在该类中不能出现和这个成员函数同名并且返回值,参数个数,类型都相同的非虚函数。在以该类为基类的派生类中,也不能出现这种同名函数。