簡體   English   中英

C ++中的Parameters類

[英]Parameters class in c++

我有一個c ++項目,其中包含多個cpp文件和功能。

每個文件都需要自己的參數(例如,MaxHorizo​​nVelocity,MaxVerticalVelocity等)。

我希望這些參數不會被硬編碼,而是在初始化步驟從單個配置參數文件中讀取。

現在,我認為要定義一個參數類,該類將從一開始就讀取參數,並且將是“靜態的”(在某種意義上,我不確定...)。

那被認為是一種好習慣嗎? 還有另一種方法嗎?

我通常以以下方式處理此問題。 代碼本身是不言自明的。

所有可配置項必須從IConfigurable接口派生。

class IConfigurable {
    public:
        virtual void configure(XMLNode&) = 0;
};

每個可配置項均假定將調用configure函數,並且給定的XMLNode將成為配置xml文件中的根節點。 之后,每個可配置項都會根據自身進行特定的解析。

class CommandClick : public IConfigurable {
    public:
        void configure(XMLNode& xCommandNode) {
            XMLNode xClickCoordinate = xCommandNode.getChildNode("Coordinate");
            unsigned int x = atoi(xClickCoordinate.getAttribute("x"));
            unsigned int y = atoi(xClickCoordinate.getAttribute("y"));
            mClickCoordinate.setX(x);
            mClickCoordinate.setY(y);
        }
    private:
        Coordinate mClickCoordinate;
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM