Abiding Good Coding Practices Write Code Extend Binary Search Tree Class Properly Implemen Q43864091

Abiding by good coding practices, write code to extend thebinary search tree class such that you properly implement the bigthree memory management functions in terms of the lower levelmember 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=(constBinarySearchTree&);
private:
void kill_tree(TreeNode*);
TreeNode* copy(const TreeNode*);
TreeNode* root;};
Please give the header and source files containing the classdefinitions 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;}; Show transcribed image text 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;};
Expert Answer
Answer to Abiding by good coding practices, write code to extend the binary search tree class such that you properly implement th…
OR