class TreeItem
{
public:
TreeItem(const TreeItem *aparent = 0)
{
parent = aparent;
}
~Tree()
{
qDeleteAll(children);
}
append(TreeItem *tree)
{
children.append(tree);
tree->parent = this;
}
QVector<TreeItem *> children() const;
TreeItem *parent() const;
private:
QVector<TreeItem *> children;
TreeItem *parent;
};
TreeItem *parentItem = new TreeItem();
// Variant 1
TreeItem *child1 = new TreeItem();
parentItem->append(child1);
// Variant 2
TreeItem *child2 = new TreeItem(parentItem);