首页 > 解决方案 > 将 C++ 类重新格式化为其他文件

问题描述

我一直在研究 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 对我如何改进这门糟糕的课程的反馈深表感谢。

标签: c++classheader-files

解决方案


这实际上看起来很好,就像你拥有它一样。您可以将整个内容按原样放入一个Log.h文件中,或者将其拆分为Log.h/Log.cpp.h 包含类定义,而 .cpp 文件包含四个类方法。


推荐阅读