我有一個問題,我有那些類,現在工作,因爲我在公共場合,但如果我把它放在私人,或保護和繼承到第二類,它不工作,怎麼可以我做到了嗎?類繼承或嵌套類,哪個更好?
template <typename T>
class BinaryNode
{
public:
T key;
BinaryNode<T>* left;
BinaryNode<T>* right;
BinaryNode<T>* parent;
BinaryNode(){}
~BinaryNode(){}
};
而且這樣的:
template <typename T>
class BinarySearchTree
{
private:
BinaryNode<T>* root;
BinaryNode<T>* newNode(T key);
BinaryNode<T>* minimum(BinaryNode<T>* node);
BinaryNode<T>* maximum(BinaryNode<T>* node);
BinaryNode<T>* successor(BinaryNode<T>* node);
void insert(BinaryNode<T>** node, T key);
BinaryNode<T>* search(BinaryNode<T>* node, T key);
void distance(BinaryNode<T>* node, T key);
void inorderTreeWalk(BinaryNode<T>* node);
public:
BinarySearchTree();
~BinarySearchTree();
void insert(T key);
BinaryNode<T>* search(T key);
void distance(T key);
void inorderTreeWalk();
BinaryNode<T>* remove(BinaryNode<T>* node);
};
我不知道你在問什麼。但也許'BinaryNode'應該是'BinarySearchTree'的「朋友」?或者,您需要在'BinaryNode'中爲'private' /'protected'數據提供'public'訪問器。否則,你是如何期望'BinarySearchTree'訪問屬性? – Matt
沒有通用的解決方案。請添加關於[你到目前爲止嘗試了什麼]的信息(http://mattgemmell.com/what-have-you-tried/),如何「爲你工作」*,並提供[SSCCE] (http://sscce.org/)(不是整個代碼庫的複製粘貼)。沒有這些信息,我們幾乎無法幫助你。 – Drop
https://www.dropbox.com/s/s8xsn3q01ysyy4f/classi.h這是所有的頭文件,我如何在binarysearchtree中執行BinaryNode的所有屬性或嵌套類? – Raid3nz