#include <iostream>
#include <string>
using namespace std;
class CBaseLogger
{
public:
CBaseLogger(){};
virtual ~CBaseLogger(){};
void Log(char* pFormat, ...){};
};
class CDerivateLogger : public CBaseLogger
{
public:
bool m_bEnable;
CDerivateLogger(bool bEnable)
{
m_bEnable = bEnable;
}
~CDerivateLogger(){};
void Log(char* pFormat, ...)
{
if (!m_bEnable)
return;
CBaseLogger::Log(pFormat); // ??
}
};
int main() {
// your code goes here
CDerivateLogger logger(true);
string str = "Test time";
logger.Log("%s %d", str.c_str(), int(1));
return 0;
}