多态是用虚函数来实现的,实现函数调用的动态绑定
专指基类和派生类定义虚函数,就是一般的函数定义前加关键词virtual,同样的函数名,形参列表,然后用基类的指针指向某一对象时,会根据相应对象的类型自动调用相应类的函数,无论基类指针是指向基类,还是指向某一派生类,我讲的还是不清楚,自己百度,打打代码实验看看就明白了
多态的前提,是继承,虚函数,指针或引用,基类指针指向子对象,
一个命令不同的对象有不同的响应
class Num{
public:
virtual int fun(int ,int );
};
class Add:public num{
public:
int fun(int a,int b);
};
int Add::fun(int a,int b){
return a+b;
}
class Sub:public num{
public:
int fun(int a,int b);
};
int Sub::fun(int a,int b){
return a-b;
}
int main()
{
Num *num = new Sub;
//Num * num = new Add; //这个就实现了多态
int a = num->fun();
return 0;
}
你上百度搜虚函数表,随便找个博客看看,就差不多可以明白了!一般还有图片,挺详细的!