1.解释虚函数。
指向基类的指针在操作它的多态类对象(子类对象)时,会根据不同的类对象,调用其相应的函数,这个函数就是虚函数。
2.示例。
#include <iostream>
using namespace std;
class A
{
public:
virtual void print(){cout << "This is A" << endl;} // 去掉virtual,则main函数中p1,p2的输出都为A,不再具有虚函数的特性。
};
class B : public A
{
public:
void print(){cout << "This is B" << endl;}
};
int main()
{
A a;
B b;
a.print();
b.print();
A *p1 = &a;
A *p2 = &b;
p1->print();
p2->print();
getchar();
return 0;
}
3.关于虚函数表,参考下面的网址,非常详尽。
http://blog.csdn.net/haoel/article/details/1948051/