我一直在研究Roguelike,并且遇到了一个问题。我的问题是我想使用“多态重载”或排序,但我猜C++不支持。是否有可能在C++中有多态成员重载?
我的类图是这样的:
xMapObject < - xEntity < - xVehicle
的一个问题是,有可能有这样的:
class xMapObject
{
public:
virtual void Bump(xMapObject *MapObject);
virtual void Bump(xEntity *Entity);
virtual void Bump(xVehicle *Vehicle);
virtual void BumpedBy(xMapObject *MapObject);
virtual void BumpedBy(xEntity *Entity);
virtual void BumpedBy(xVehicle *Vehicle);
};
这将是一个非常很好,因为它会很大程度上简化代码,以确定谁遇到了什么,但由于这不起作用,是否还有另一种类似于此的面向对象的方法?或者是铸造物体来确定它们的最佳选择?
感谢您的帮助!
为什么不工作? – 341008 2011-01-12 05:35:33