虚函数的作用
虚函数的使用方法
在什么情况下应该声明虚函数
使用虚函数时,有两点要注意:
只有类的成员函数才能被声明虚函数,即虚函数只用于类的继承层次结构中
一个成员函数被声明为虚函数后,在同一类族中的类就不能再定义一个该虚函数同名、同类型和同参数同名非虚函数。
使用虚函数,系统要有一定的额外空间开销。
当一个类带有虚函数时,编译系统会为该类构造一个虚函数表(virtual function table,简称vtable),它是一个指针数组,存放每个虚函数的入口地址
系统在进行动态关联时的时间开销是很少的,因此,多态性是高效的。
1.先看成员函数所在的类是否会作为基类,再看成员函数在类的继承后有无可能被更改功能。如果希望更改其功能的,一般应该将它声明为虚函数;
2.如果成员函数在类被继承后功能不需修改,或派生类用不到该函数,则不要把它声明为虚函数;
3.应考虑对成员函数