Question: Abiding by good coding practices, write code to extend the binary search tree class such that you properly implement the big three memory management functions

Abiding by good coding practices, write code to extend the binary search tree class such that you properly implement the big three memory management functions in terms of the lower level member functions
BinarySearchTree::kill tree(TreeNode* n) and TreeNode* BinarySearchTree::copy(const TreeNode* source).
class TreeNode
{public:
TreeNode();
void insert_node(TreeNode* new_node);
private:
string data;
TreeNode* left;
TreeNode* right;
friend class BinarySearchTree;};
class BinarySearchTree
{public:
BinarySearchTree();
void insert (string data);
// **** The Big Three **** //
// Destructor
~BinarySearchTree();
// Copy constructor
BinarySearchTree(const BinarySearchTree&);
// Assignment operator
BinarySearchTree& operator=(const BinarySearchTree&);
private:
void kill_tree(TreeNode*);
TreeNode* copy(const TreeNode*);
TreeNode* root;};
Please give the header and source files containing the class definitions and implementation, and a main function.
Abiding by good coding practices, write code to extend the binary search tree class from Chapter 13 of the Big C++ textbook, such that you properly implement the big three memory management functions in terms of the lower level member functions BinarySearchTree::kill.tree(TreeNode* n) and TreeNode* BinarySearchTree::copy (const TreeNode* source). class TreeNode {public: TreeNode (); void insert_node (TreeNode* new_node); private: string data; TreeNode* left; TreeNode* right; friend class BinarySearchTree;}; class BinarySearchTree {public: BinarySearchTree(); void insert (string data); // **** The Big Three **** // // Destructor "BinarySearchTree(); // Copy constructor BinarySearchTree (const BinarySearchTree&); // Assignment operator BinarySearchTreek operator=(const BinarySearchTree&); private: void kill_tree(TreeNode*); TreeNode* copy(const TreeNode*); TreeNode* root;}
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
