2016-07-27 62 views
-2

現在我有一個代表一棵樹的類。這棵樹中的每個節點都有完全相同數量的子節點,我們稱它爲N.我用一個靜態變量來管理這個類,它的值爲N,所以這基本上是一個全局變量。如何在不同的對象中使用不同的靜態(全局)變量?

我現在的問題是我想用相同的類構造一棵不同的樹,但是現在N的值應該是不同的。假設我想創建N = 4的第一棵樹,N = 2的第二棵樹。爲了節省內存,我只想將這些N的值存儲在樹中,而不是存儲在樹的每個節點中。是否有一個簡單的概念方式來實現這一目標?

在此先感謝!

+3

你有沒有考慮非類型模板參數? –

回答

2
template<size_t N> 
struct TreeNode { 
    ... 
    TreeNode<N>* children[N]; 
    ... 
}; 

用作樹節點< 2>或樹節點< 7>

+0

是的,教科書的用法。 –

相關問題