我有一个Button类,像这样:覆盖基类返回类型
class Button {
protected:
SDL_Rect box;
public:
Button(string id, int x, int y, int w, int h);
~Button();
virtual void handleEvent(SDL_Event event);
};
而且我有一种特殊的巴顿,则myButton:
class MyButton : public Button {
public:
MyButton(string id, int x, int y, int w, int h);
~MyButton();
void handleEvent(SDL_Event event);
};
的事情是,我需要MyButton::handleEvent()
方法返回int
而不是void
。什么是最优雅的方式来做到这一点?
编辑:我需要这个的原因是因为我需要知道何时按MyButton
以便在其他类中做其他事情。
如果你需要一个具有不同签名的函数,那么你就错过了继承的语义。只是称它为另一个名字。 – imreal
我该如何处理原始签名?我只是把它留空了? –
没有必要重写它,如果你不声明它,将使用父类的方法。也许你可以提供一些关于你想要做什么的背景。 – imreal