我正在嘗試爲二叉樹實現構建一個節點類。這裏是Node類的頭文件:C++中的BinaryTree節點類
class Node {
public:
Node();
Node(int value);
void setParent(Node& parent);
void setLeftChild(Node& child);
void setRightChild(Node& child);
void setValue(int value);
void setIndex(int index);
void setHeight(int height);
private:
int value;
Node& parent;
Node& leftChild;
Node& rightChild;
int height;
int index;
};
現在,我想寫上面聲明的構造函數Node(int value)。 我應該如何初始化leftChild,rightChild,父領域?他們也是節點,所以我想調用它們的默認構造函數,但它似乎不工作。 節點::節點(int值):值(值),父(),leftChild(),rightChild(){}
編譯器被認爲 「參考輸入 '節點' 需要一個初始值設定」
謝謝。
引用需要引用一個對象。所以你需要一個對象供他們參考。 – juanchopanza
引用需要綁定到已經存在的對象。 – Pixelchemist
所有這些設置者都沒有意義(即使他們是可能的,但你永遠不能設置引用),只要直接將數據成員公開就可以了。或者(更好),使樹的建立方法成爲朋友...另外,如果孩子是彼此的鄰居,那麼只有一個指向第一個孩子的指針就足夠了,右邊的孩子就在它旁邊('child [0 ]','小孩[1]') – Walter