我正在实现一个抽象工厂类。 在基类(抽象类)中,我定义了以下typedef:
// Logging callback type.
typedef void (*LoggingCallBackFuncP)(const std::string&);
并且
static LoggingCallBackFuncP m_LogCallback;
另外,我想在摘要类中使用以下函数声明:
static void SetLog(LoggingCallBackFuncP callback);
此功能将初始化m_LogCallback
以这种方式,我希望有机会只初始化一次日志函数并将其用于所有派生类。
这种方法可以吗?何时/如何初始化m_LogCallback
?
答案 0 :(得分:1)
这种方法可以吗?
是
何时/如何初始化m_LogCallback?
由于SetLog
是静态的,您可以随时调用它,而无需对象实例。
语法为NameOfAbstractClass::SetLog( my_callback );