我有一個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