2016-07-27 4 views
-2

今のところ私は木を表すクラスを持っています。このツリー内のすべてのノードは、厳密に同じ数の子ノードを持ち、Nと呼ぶことができます。これはNの値を持つクラスの静的変数で管理しました。これは基本的にグローバル変数です。異なるオブジェクトで異なる静的(グローバル)変数を使用する方法は?

私の問題は、同じクラスで別のツリーを構築したいが、今はNの値が異なるはずだということです。だから、私はN = 4で最初のツリーを作成し、2番目にN = 2でツリーを作成したいとしましょう。メモリを節約するために、ツリーのすべてのノードではなく、ツリーのNの値を1回だけ保存します。これを達成するための簡単な概念的方法はありますか?

ありがとうございます!

のTreeNode < 2として
+3

あなたは非型テンプレートパラメータを検討したことがありますか? –

答えて

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

>またはTREENODE < 7>

+0

はい、教科書の使用。 –

関連する問題