Конструктор для создания бинарного дерева
Конструкторы удобно использовать для создания различных связанных структур, в том числе и бинарных деревьев. Напомним, что бинарным деревом называется система объектов, связанных по следующему принципу В вершине иерархии находится один родительский объект, и каждый объект структуры ссылается на два объекта того же типа. В коде при веден пример программного кода с определением класса BinTree. Класс содержит конструктор, через который и реализуется процесс создания бинарного дерева. Конструктор вызывается с аргументом целого типа. При этом аргумент конструктора определяет «глубину» (т.е. количество уровней) бинарного дерева.
#includeusing namespace std; class BinTree{ public: static int Count; int m; BinTree *p1; BinTree *p2; BinTree(int n){ if(n==1){ p1=NULL; p2=NULL;} else{ p1=new BinTree(n-1); p2=new BinTree(n-1);} m=++Count; cout << "Object created: " << this << " : " << m; cout << " -> Number of objects: " << Count << endl;} ~BinTree(){ delete p1; delete p2; Count--; cout << "Object deleted: " << this << " : " << m; cout << " -> Number of objects: " << Count << endl;} }; int BinTree::Count; int main(){ BinTree::Count=0; BinTree obj1(3); BinTree *p; p=new BinTree(2); delete p; return 0;}