我的C ++应用程序中有一个Logger类。这个类有公共方法,如writeDebug(std::string & str)
,可以写入调试输出文件,它对我很有用。该对象是在第一个主类的应用程序启动时创建的,并在那里存储为Logger * myLogger;
对象。
由于我也有其他类,我也想为这些类提供这种日志记录功能。
目前我在其构造函数中将myLogger指针指向toher类,并且所有其他类在创建时都存储了这个相同的Logger指针 - >所有其他类都存储了Logger * myLogger
指针:
Other_XY_Class::Other_XY_Class(Logger * logger, ...)
: localLoggerPtr{logger} { //.. }
==> localLoggerPtr(在类Other_XY_Class中)== myLogger(在主应用程序类中)
我可以想象有一种更方便/更优雅的方式来处理它?</ p>
答案 0 :(得分:0)
由于您只有一个实例,为什么不使用Singleton?
这方面的事情:
class foo {
private:
void bar();
static foo Instance;
public:
static void Bar() { Instance.bar(); }
}