OK、すべての WinAPI コントロールをラップして Java/C#/.Net コントロールのように動作させるクラスがあります (はい、既にこれを行うライブラリがあることは知っています)。
class Control
{
public:
//Bunch of other stuff..
virtual HWND GetHandle() const;
};
および次のような派生クラス:
class MenuBar: public Control
{
public:
//Bunch of other stuff..
virtual HMENU GetHandle() const;
enum class Flags
{
POPUP = MF_POPUP, STRING = MF_STRING
};
};
ただし、コンパイラは、基本クラスの GetHandle 関数をオーバーロードするための間違った戻り値の型に関するエラーを表示します。
GetHandle
をオーバーロードして、別の戻り値の型を持ち、Base クラスの実装を無視するにはどうすればよいですか? 私はその名前が本当に好きで、GetHandle()
変更したくありませんでした (オプションですが)。
別の方法はありますか?おそらく、基本クラスに実装があることを忘れさせる方法があるので、私は尋ねていますか?