17

问答题 17 /50

设计一个多终端日志打印的接口,使得它可以动态支持不同终端的日志打印

参考答案

设计合理即可,关键点是利用动态绑定实现接口与实现的分离,下面是一个参考答案:
class BaseTerminal {
public:
 virtual void PrintLog(const string& message) const = 0;
};

class Screen: public BaseTerminal {
public:
 void PrintLog(const string& message) const = 0;
};

class Network: public BaseTerminal {
public:
 void PrintLog(const string& message) const = 0;
};

void LogPrint(const BaseTerminal &terminal);