나는 모든 종류의 (등 INT, 플로트, 문자열)파일에 일반 트리를 저장하려면 어떻게해야합니까?
template<class T> class Tree {
public:
// Class interface
private:
T node;
std::list<Tree<T>*>* children;
};
를 저장할 수있는 C++로 작성된 일반적인 트리 구현을하고 난 입력 소스 트리로 받아 프로그램 (C++로 작성된)이 (파일에 저장된) 규칙 집합을 기반으로 다른 트리를 출력 할 수 있습니다.
Any instance of class A become an instance of class X
Any instance of class B become an instance of class Y
Any instance of class C become an instance of class Z
예를 들어, I는 (B (C))이 입력 트리 값이 가정 (노드 (A)는 아이로서 B를 갖고 B는 자식으로 C를 갖는다). 규칙의 파일을 기반으로 내 프로그램은이 트리 X (Y (Z))를 제공합니다. 내 질문은 : 어떻게 파일에 규칙 집합을 저장할 수 있습니까? 이 파일에 트리 유형을 저장하려면 어떻게해야합니까?
<translationUnit>
<from>
<A>
<B>
<C></C>
</B>
</A>
</from>
<to>
<X>
<Y>
<Z></Z>
</Y>
</X>
<to>
</translationUnit>
XML을 사용하여 규칙을 저장하려고하지만 클래스 유형을 어떻게 저장할 수 있습니까?
Apache thrift 또는 Google Protobuf와 같은 일부 직렬화 라이브러리를 사용해야합니다. 그러나 데이터 유형으로서의 트리는 지원되지 않을 수 있으므로이를 해결해야합니다. 하지만 템플릿 클래스에서 작동하게하는 것은 실제 문제가 될 것입니다. ( –
고마워요 ... –
_ '나는 XML을 사용하여 규칙을 저장하려고하지만 어떻게 클래스 유형을 저장할 수 있습니까?' XML의 경우, 엘리먼트 이름이나 열거 형 속성과 같은 어떤 종류의 식별자가 필요할 것입니다 .BTW,'Tree *'et.al. –