抽象ファクトリ クラスを実装しています。ベース (抽象クラス) では、次の typedef を定義します。
// Logging callback type.
typedef void (*LoggingCallBackFuncP)(const std::string&);
そして持っている
static LoggingCallBackFuncP m_LogCallback;
また、抽象クラスに次の関数宣言が必要です。
static void SetLog(LoggingCallBackFuncP callback);
この関数は初期化しますm_LogCallback
このような方法で、ログ関数を一度だけ初期化して、すべての派生クラスで使用する機会を得たいと考えています。このアプローチは大丈夫ですか?いつ/どのように初期化すればよいm_LogCallback
ですか?