我一直在研究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