将C ++类重新格式化为其他文件

时间:2020-04-21 16:56:51

标签: c++ class header-files

我一直在研究c ++中的一个基本的日志记录类。现在,我需要将类移到主文件之外,但是我不知道将什么放入头文件中。我最困惑的是对我的日志记录级别的枚举。 这是我的代码:

#include <iostream>

class Log {
public:
    enum Level {
        LevelError, LevelWarning, LevelInfo
    };
private:
    Level LogLevel = LevelInfo;
public:
    void set_level(Level level) {
        LogLevel = level;
    }
    void Error(const char* message) {
        if (LogLevel >= LevelError) {
            std::cout << "[ERROR]: " << message << std::endl;
        }
    }
    void Warn(const char* message) {
        if (LogLevel >= LevelWarning) {
            std::cout << "[WARNING]: " << message << std::endl;
        }
    }
    void Info(const char* message) {
        if (LogLevel >= LevelInfo) {
            std::cout << "[INFO]: " << message << std::endl;
        }
    }
};

非常感谢PS反馈我如何改进这门糟糕的课。

1 个答案:

答案 0 :(得分:1)

实际上,您觉得还不错。您可以按原样将整个内容放入Log.h文件中,或将其拆分为Log.h/Log.cpp,其中.h包含类定义,.cpp文件包含四个类方法。