1.虚函数对象传递
1.1 接口类
class InterfaceClass
{
virtual commonFun() = 0;
}
1.2 实现类
class Entity1Class : public InterfaceClass
{
public:
Entity1Class()
{
}
~Entity1Class()
{
}
commonFun()
{
return "This is Entity 1 Class."
}
}
class Entity2Class : public InterfaceClass
{
public:
Entity2Class()
{
}
~Entity2Class()
{
}
commonFun()
{
return "This is Entity 2 Class."
}
}
1.3 调用方法
std::string doSomething(InterfaceClass* pInterface)
{
std::string str(pInterface->commonFun(pInterface ));
std::cout<< str <<std::endl;
}
int main()
{
InterfaceClass* pInterface = new Entity1Class();
doSomething(pInterface);
pInterface = new Entity2Class();
doSomething(pInterface);
}