代碼只是示例了虛函數的一些應用,並不是說在該場景下這樣用最好,甚至於說,幾乎不會出現這樣的用法。但這可以讓初學者加深對虛函數的理解。
//繼承多個接口,但是有相同的方法
#include <iostream>
using namespace std;
class IHello
{
public:
virtual void Say() = 0;
};
class IWorld
{
public:
virtual void Say() = 0;
};
class MHello : public IHello
{
public:
void Say(){cout << "Hello ";}
};
class MWorld : public IWorld
{
public:
void Say(){cout << "World" << endl;}
};
class CObject : public MHello, public MWorld
{
};
int main()
{
CObject o;
IHello& ih = o;
IWorld& iw = o;
ih.Say();
iw.Say();
return 0;
}