0

我为 C++ 游戏引擎创建的脚本语言存在一些设计问题。我要做的是让一个名为 SScript 的对象调用一个方法来加载必要的文件,并检查脚本文件的后缀。我还有一个名为 SMessage 的基类,而不是派生自另一个名为 SErrorMessage 的类。这是一些示例代码,可以准确说明我想要做什么:

SScript::SScript(const std::string& filepath)
{
    if (load(filepath) == SError(SError::Error_Codes::ERROR_CUSTOM))
    {

    }
}

SMessage& SScript::load(const std::string& filepath)
{

}

这是 SError 的头文件:

class SError : public SMessage
{
public:
    enum class Error_Codes
    {
        ERROR_CUSTOM = 1,
        ERROR_LOADING_SCRIPT = 2,
        ERROR_SCRIPT_INCORRECT_SUFFIX = 3,
    };

    SError(Error_Codes errorCode);
    SError(Error_Codes errorCode, const std::string& contents);

    virtual void message(const std::string& contents);

    inline bool operator=(const Error_Codes errorCode)
    {

    }

private:
    SError() {};

    Error_Codes m_error_code;

    void organizeString(const std::string& contents);
};

在 SScript::SScript() 中,我想调用 load 并将其与各种 SMessages 或 SErrorMessages 进行比较。我尝试实现运算符重载,但我认为这不会解决问题。我有点碰壁了,我需要认真重新思考设计。

4

0 回答 0