嗨我需要一个库来自动生成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. 生成自定义消息框类
- 3. 如何生成HL7消息?
- 4. 生成多条消息
- 5. 生成错误消息
- 6. mathematica中的消息生成
- 7. SOAP消息生成器
- 8. 生成C#类
- 9. 生成C#类
- 10. C#.NET基于表单部分生成成功消息
- 11. C++ HTML生成类
- 12. 使用VBA为特定的Excel错误消息生成消息?
- 13. mysql_error不生成错误消息
- 14. Android模拟器生成错误消息
- 15. WSDL生成SOAPClient无效SOAP 1.1消息
- 16. 为复杂对象生成JSON消息
- 17. irp处理和windows消息生成
- 18. setTimer()仅生成WM_TIMER消息一次
- 19. HW:Java程序生成NullPointerException错误消息
- 20. 使用JMeter生成部分消息流
- 21. GWT本地化生成消息
- 22. 只生成一次错误消息
- 23. 我应该生成异常消息吗?
- 24. 是否有消息生成器
- 25. 生成xml消息通过tcp发送
- 26. Yii 1.1消息文件生成Unicode
- 27. WebORB和“代码生成失败”消息
- 28. 为HRESULT代码生成诊断消息?
- 29. 如何从.net(C#)生成EDIFACT消息(IFIMIN)?
- 30. 使用C#和Rotativa生成PDF后,移除状态消息
XSLT可能是最通用的方法,但具有非常复杂的语法。谷歌缓冲区定义的简单性非常吸引人。 – Boris 2011-04-21 08:10:50