#pragma once #include using namespace std; class Tree { private: struct TNode; typedef TNode* node_ptr; struct TNode { int data; node_ptr lt, rt; TNode(int val, node_ptr l = nullptr, node_ptr r = nullptr) : data(val), lt(l), rt(r) {} }; node_ptr root; public: Tree() : root(nullptr) {} Tree(const Tree& t); ~Tree(); void addNode(int a); // узел добавляется по правилу дерева поиска bool operator==(const Tree& t)const; friend ostream& operator<<(ostream& os, const Tree &t) ; };