私はB+Treeの一般的なC++実装を書き込もうとしています。私の問題は、B+ツリーに2種類のノードがあるという事実から来ています。子ノードへのキーとポインターを含む内部ノード、およびキーと値を含むリーフノード、および内部ノードのポインターは、他の内部ノードまたはリーフノードのいずれかを指すことができます。テンプレートを使用してこのような関係をモデル化する方法がわかりません(キャストや仮想クラスを使用したくありません)。
私の問題の解決策、またはC++でB+Treeを実装するためのより良い方法があることを願っています。