抽象类中的静态函数指针

时间:2013-03-06 13:02:37

标签: c++ abstract-class function-pointers

我正在实现一个抽象工厂类。 在基类(抽象类)中,我定义了以下typedef:

// Logging callback type.
typedef void (*LoggingCallBackFuncP)(const std::string&);

并且

static LoggingCallBackFuncP m_LogCallback;

另外,我想在摘要类中使用以下函数声明:

static void SetLog(LoggingCallBackFuncP callback);

此功能将初始化m_LogCallback 以这种方式,我希望有机会只初始化一次日志函数并将其用于所有派生类。 这种方法可以吗?何时/如何初始化m_LogCallback

1 个答案:

答案 0 :(得分:1)

  

这种方法可以吗?

  

何时/如何初始化m_LogCallback?

由于SetLog是静态的,您可以随时调用它,而无需对象实例。

语法为NameOfAbstractClass::SetLog( my_callback );