2015-11-20 85 views
-1

所以基本上我有2個類,BSTNode類和BST類,BSTNode是BST的朋友。如何調用類指針函數

在我的BST類,我有這方面的公共職能


void BST::Insert(int val); 
{ 
..do stuff 
} 

void BST::PostorderDFT(BSTNode* node) 
{ 
...do stuff 
} 

我知道,我要創建一個對象。比方說:


int main(void) 
{ 
BST bst1; 

//then use the object I just created to create a tree. Lets say: 
{ 
bst1.Insert(1); 
bst1.Insert(2); 
bst1.Insert(4); 
bst1.Insert(10); 
ect.. 

所以我的問題是,我怎麼能叫PostorderDFT(BSTNode *節點)的主要功能函數。或者應該傳遞什麼參數以使其工作,因爲參數(BSTNode * node)是類指針,所以它很難理解。

謝謝。

回答

0

您可以定義BSTNode的變量是這樣的:

BSTNode node; 

您可以使用一個構造函數如下:

BSTNode node(0,NULL,NULL); 

然後,您可以分配這個變量像往常一樣,最後,可以使用這樣的變量:

// some assignment 
// ... 
bst1.PostorderDFT(&node); 
+0

謝謝。這有幫助。另外,可以說如果我有這棵樹 (1) - 根 (2)(4) (10) 如何在創建BSTNode對象後將節點等於節點(4)。或者,如果我想計算節點(4)處樹的高度等。 再一次,非常感謝你幫助我。 – Leo

+0

這個問題是基於你的BST的實現。 – Albert