C ++创建自定义对象

时间:2014-02-03 22:23:10

标签: c++ class parsing dynamic types

我已经为我的3D引擎开发了一个简单的GUI渲染器,它能够 解析这样的脚本文件:

GUIButton Nameofelement
.pos 10 20
.size 100 50

基本上它会创建GUIButton类型的对象,将其命名为Nameofelement,然后应用以.

开头的属性

所有GUI - 元素都是GUIElement类的子类。

我的问题是:任何人都应该能够创建自己的GUIElement子类并注册 他们用于scriptparsing。像这样:

class MyPersonalElement : public GUIElement
{
    //all the stuff that belongs in here
}

现在这是我不确定是否可能的部分:

GUI->register("GUIPersonal", MyPersonalElement);

这样你就可以在GUI脚本中使用它了:

GUIPersonal personalObject
.property value

目前,脚本的解析方式如下:

GUIElement* currentElement = NULL;

if(input == "GUIButton")
{
    currentElement = new GUIButton();
    //...
}

解决此问题的最佳方法是什么?

0 个答案:

没有答案