私はその唯一の非静的メンバ関数を仮想することができることを理解して言ってから始めますが、これは私が欲しいものです:スタティック関数のオーバーロードはありますか?
- インタフェースを定義する基本クラス:私は機能にアクセスするために、基本クラスのポインタを使用することができます。
メモリ管理のために(これは制限されたRAMを備えた組み込みシステムです)私は、オーバーライドする関数を静的に割り当てる必要があります。静的関数では、関数内のデータをどのように操作できるかという制約があるという結果を受け入れます。
私の現在の考えは、実際には静的な関数のラッパーにすることで、軽いオーバーロード機能を維持できるということです。
私のデザインを再考する必要があることを伝えてください。これが私が質問している理由です。私がCを使用してコールバックを使用する方が良いと言いたいのであれば、オブジェクト指向のアプローチを使用することの落とし穴を説明するために、いくつかの読み物を私に指示してください。私が列挙した要件を満たすオブジェクト指向のデザインパターンがありますか?
「静的」と言うとき、「非仮想」を意味しますか?あなたが "過負荷"と言うとき、あなたはむしろオーバーライドを意味するのですか?オーバーロードは同じ名前ですが、引数が異なるため、異なる関数です。上書きは同じ引数であり、オーバーライドされた関数を仮想にする必要があります。 – MvG
@MvG私は区別がつかなかった。オーバーライドは私が後にしていることです。私はそれを編集します。 – 2NinerRomeo
@ VanDarg:プログラムが組み込みシステム上で実行されているという事実は、スタックスペースを消費しないという欲求を引き起こしています。私は思う(しかし、私はこれまでに間違っていたし、これで新しくなった)。静的関数を宣言すると、コードをフラッシュに保存することが可能になるはずです。 – 2NinerRomeo