C++的多态靠虚函数实现,下面具体展示几组样例。
#include <iostream>
using namespace std;
class Base{
public:
void fun()
{
cout<<"1"<<endl;
}
virtual void fun(float x)
{
cout<<x<<endl;
}
virtual void foo()
{
cout<<"2"<<endl;
}
};
class Devive:public Base{
public:
void fun()
{
cout<<"3"<<endl;
}
void fun(int x)
{
cout<<x<<endl;
}
void fun(float x)
{
cout<<"asd"<<endl;
}
void foo()
{
cout<<"4"<<endl;
}
};
int main()
{
Base b;
Devive d;
Base *dd=&d;
Devive *ddd=(Devive *)&b;
d.fun();
d.foo();
dd->fun();
dd->foo();
dd->fun(3.14f);
ddd->fun();
ddd->foo();
return 0;
}
OutPut: