C++ で作業している openGL アプリケーションのメニュー システムを作成しています。以前に学んだこと (Delphi の TObjects) の構造を狙っています。私が目指している構造は、
オブジェクト -> コンポーネント -> コントロール (ビジュアル/相互作用の場合) -> 特定のアイテム
私が考えていることの 1 つは、ユーザーの「フォーカス」を制御する方法です。フォーカスはコントロールのメンバーであり、たとえば、ボタンが何をするか、どこで入力するかなどに役立ちます。フォーカスは、特定の GUI 項目へのポインタであり、したがってコントロールの派生クラスであるように思われます。指す必要があるオブジェクトの種類は、常に同じとは限りません。コントロールの基本クラスでポインターを宣言して、派生クラスを指すにはどうすればよいですか? Google で検索してみましたが、継承の説明がたくさんあるだけなので、正しい用語を使用しているとは思いません。答えがそこにあるとは思いません。
私が使用しようと考えた 1 つの回避策は、Component Base クラスの保護された値でした。これを と呼びましょうID
。 ID
新しいオブジェクトが作成されるたびに一意になるため、フォーカス ポインターを として宣言しint* focus
、ID から何が必要かを追跡することができます。面倒くささが増しそうです。
事前にアドバイスをありがとう