嗨我需要一个库来自动生成C++的消息类从一些temaplate(例如XML)。类似于谷歌缓冲区的东西。但谷歌缓冲区不支持继承和“免费”字段。我不需要使用序列化,它只是从模板部分自动生成,这是必须的。有任何想法吗?C++消息类生成
Q
C++消息类生成
0
A
回答
1
如果您的“源代码”是XML,XSLT看起来像是一个明显的选择。
0
看起来您至少有两个问题:从XML读取并在Fly上创建实例。正如其他人所说,使用一个库来解析XML。在网上搜索"Factory design pattern c++"
。
如果存在公共基类,工厂将返回后代对象的实例(在动态内存中分配)。否则,工厂将成为返回不同对象的函数的集合。
工厂实现的一种形式是接收文本字符串(要创建的类的名称)并返回实例指针的方法,如果方法无法创建类,则返回NULL。类似这样的:
class Animal;
class Cat: public Animal;
class Dog: public Animal;
class Elephant: public Animal;
Animal * Create_Cat(const std::string& animal_name);
Animal * Create_Dog(const std::string& animal_name);
Animal * Create_Elephant(const std::string& animal_name);
Animal * Animal_Factory(const std::string& animal_name)
{
Animal * p_animal = NULL;
do
{
p_animal = Create_Cat(animal_name);
if (p_animal)
{
break;
}
p_animal = Create_Dog(animal_name);
if (p_animal)
{
break;
}
p_animal = Create_Elephant(animal_name);
if (p_animal)
{
break;
}
} while (false);
return p_animal;
}
相关问题
- 1. XSD和自动类/消息生成
- 2. 如何生成HL7消息?
- 3. SOAP消息生成器
- 4. mathematica中的消息生成
- 5. 生成C#类
- 6. 生成C#类
- 7. C++ HTML生成类
- 8. 使用VBA为特定的Excel错误消息生成消息?
- 9. 只生成一次错误消息
- 10. 是否有消息生成器
- 11. WebORB和“代码生成失败”消息
- 12. mysql_error不生成错误消息
- 13. 生成xml消息通过tcp发送
- 14. 为复杂对象生成JSON消息
- 15. xcode生成内部错误消息
- 16. 为HRESULT代码生成诊断消息?
- 17. Yii 1.1消息文件生成Unicode
- 18. irp处理和windows消息生成
- 19. setTimer()仅生成WM_TIMER消息一次
- 20. 捕获MFC应用程序以纯C++生成的windows消息
- 21. 用于使用WSDL生成SOAP消息的C++库
- 22. 使用C#和Rotativa生成PDF后,移除状态消息
- 23. 使用来自C#代码的属性生成SOAP消息
- 24. 无法使用IActivityLogger和C#的Bot生成器记录消息
- 25. 崩溃消息:无法生成临时类
- 26. Twilio不生成从生成的TwiML回复SMS消息
- 27. 由FileOpenDialog生成的通知消息生成32位构建不生成64位
- 28. 从JSON Schema生成C#类
- 29. C# - 动态生成的类?
- 30. Eclipse C++类生成格式
XSLT可能是最通用的方法,但具有非常复杂的语法。谷歌缓冲区定义的简单性非常吸引人。 – Boris 2011-04-21 08:10:50