[英]Parameters class in c++
我有一個c ++項目,其中包含多個cpp文件和功能。
每個文件都需要自己的參數(例如,MaxHorizonVelocity,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.