实现通用树

时间:2011-06-15 09:01:15

标签: c++ class object tree oop

我遇到了以下代码,尽管有其他人的帮助,我仍然无法理解它。 这段代码应该实现一般树。 Single_List和Single_Node类也可用于实现。

        template <class Object>
        class General_tree {
            private:
                Object element;  // the stored in the node
                Single_list< General_tree<Object> * > children;
                    // a linked list of pointers to general trees
            public:
                Object retrieve() {
                    return element;
                }
                // ...
        };

有人可以告诉我这个类的一个实例将包含哪些内容?

我认为它将包含

                           [element value in node made by Single_Node] -----> 
                             /                           next pointer (part of Single_list class)
                            / 
                           / children pointer to another such instance of General_Tree
                          V

然后这些实例可以组合成一个树...我仍然习惯于面向对象的设计我想如果这个推理和解释是正确的,请告诉我吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

树对象实际上是树中的一个节点,其中children指向下一级的节点,这些节点将指向他们的子节点等。

它们一起形成一个子树(或整个树,如果它是根节点)。