虚函数的参数要完全一致!这与重载函数的最大区别。
测试代码:
#include<iostream>
using namespace std;
class base{
public:
virtual void func()
{
cout<<"This is in base /n";
}
};
class derive2:public base{ int main() p=&a; p=&b; p=&c; 测试结果: This is in base
class derive1:public base{
public:
void func()
{
cout<<"This is in derive1/n";
}
};
public:
void func()
{
cout<<"This is in derive2/n";
}
};
{
base *p;
base a;
derive1 b;
derive2 c;
p->func();
p->func();
p->func();
return 0;
}
This is in derive1
This is in derive2
Press any key to continue