C++中的虚函数的作用主要是实现了多态 的机制。
关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数 。
虚表指针所指向的一张表(虚函数的地址表),表的项数就为虚函数的个数(非虚函数不入表),子类要为其重写了的虚函数重写自己的虚表,没有重写的就直接指向其父类的地址,从而达到多态的作用,这些都是在编译的时候由编译器自动完成的。
参考来源: http://hi.baidu.com/bystander1983/blog/item/4e166ddc9386c63e5882dd60.html