问题描述
我正在寻找一种基于 JSON 输入加载特定类/子类类型的方法。例如,我有以下 JSON 文件
"type" : "RenderVertices"
"RenderComponent": {
"vertex": {
"xcoords" : [0,1,0]
"ycoords" : [0,1]
}
"texture": {
"name" : "testtex"
"texcoordsx" : [0,0]
"texcoordsy" : [0,1]
}
"color" : {
"color_r": [0,0]
"color_g": [0,0]
"color_b": [0,0]
"color_a": [0,0]
}
"type": "quads"
}
class RenderComponent;
和
class RenderVertices : public RenderComponent
我最终将拥有大量继承自 RenderComponent 的类,并且我希望能够基于 JSON 文件中的“类型”说明符构造一个特定的对象子类(在本例中为 RenderVertices)。我了解如何使用带有 switch 语句的某种工厂函数来执行此操作,但这需要为我创建的每个子类类型添加一个新条目,如果可能,我希望避免这种情况。实现此目标的最具可扩展性的方法是什么(可扩展性是指创建的每个新子类所需的代码修改最少)?
我正在使用 nlohmann::json 来解析我的 JSON 文件 (https://github.com/nlohmann/json)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)