안녕하세요, 일부 temaplate (예를 들어 XML)에서 C++로 메시지 클래스를 자동 생성하는 라이브러리가 필요합니다. 구글 버퍼와 비슷한 것. 그러나 Google 버퍼는 상속 및 "무료"필드를 지원하지 않습니다. 직렬화에 사용할 필요가없는 것은 템플릿 부분에서 자동 생성하는 것입니다. 어떤 아이디어?C++ Messages 클래스 생성
0
A
답변
1
"소스"가 XML 인 경우 XSLT가 분명한 선택 인 것처럼 보입니다.
0
적어도 두 가지 문제가있는 것처럼 보입니다 : XML을 읽고 플라이에서 인스턴스를 생성하십시오. 다른 사람들이 말하듯이 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. C# 런타임 클래스 생성
- 2. C++ HTML 생성 클래스
- 3. Formset Messages
- 4. C#의 동적 클래스 생성
- 5. XML에서 간단한 C# 클래스 생성
- 6. XMLSPy로 C# 클래스 생성 2010rel3sp1
- 7. Webservice를 프록시 클래스 생성
- 8. jsf messages : 링크 추가
- 9. facebook messages 결과가
- 10. Django : Messages Framework
- 11. Win32 Messages program
- 12. C# XSD에서 클래스 개체 자동 생성
- 13. C#에서 런타임 코드 (구조체, 클래스) 생성
- 14. C++ 추상 클래스 생성 및 소멸
- 15. jstl fmt : messages 자동 검사?
- 16. C++, oop, 클래스 목록 (클래스 유형) 및 그 인스턴스 생성
- 17. 동적으로 생성 된 클래스?
- 18. 템플릿 클래스 생성 오류
- 19. 개체에서 클래스 생성 (JavaScript)
- 20. CoffeeScript의 동적 클래스 생성
- 21. Python에서 목록 클래스 생성
- 22. XJC 동일한 클래스 생성
- 23. SubSonic 2.2 클래스 생성
- 24. 자신을 참조하는 클래스 생성
- 25. Java에서의 동적 클래스 생성
- 26. XSD에서 클래스 생성
- 27. 데이터베이스 스키마의 클래스 생성
- 28. 왜 클래스 생성 오류
- 29. 클래스 인스턴스 생성
- 30. JAXB 생성 클래스 접두사
XSLT는 가장 일반적인 접근 방식 일 수 있지만 매우 복잡한 구문입니다. Google 버퍼 정의의 단순함은 매우 매력적입니다. – Boris