私は簡単なセットアップをしています
class Container {
Handler h;
}
すべての Container オブジェクトには「warning()」メソッドがあります。Handler オブジェクト内から警告を出力する方法も必要ですが、含まれているオブジェクトの機能を使用してこれらの警告を送信します。
含まれているオブジェクトでコンテナーへの参照を保持するのは奇妙だと思います (通常、含まれているオブジェクトはそのコンテナーについて何も知らないはずです)。さて、クロージャーのある言語では、次のようにします(架空の構文):
h.set_warning_handler { | char* message |
this->warning(message)
}
しかし、私は C++ で作業しており、ブロックなどの Apple 方言を使用する場所ではありません。これに取り組むための好ましい方法は何ですか?それとも、その参照を設定して忘れますか?