Javaでは、型を指定せずに汎用クラスの変数を定義できます。
class Tree<T extends Comparable<? super T>> {}
somewhere-else: Tree tree;
次に、ファイルからオブジェクトを読み込んで、希望するクラスタイプに型キャストできます。
tree = (Tree<String>) some object;
とboost::variant
私はバリアント定義を始めました。
typedef boost::variant<Tree<std::string>, Tree<int>> TreeVariant; TreeVariant tree;
を指定する必要があることはわかっていますが、この例から、変数またはのいずれかに割り当てることができるように定義する方法がvisitor class
明確ではありません。tree
Tree<std::string>
Tree<int>
次に、変数を使用してTreeのメンバー関数を呼び出しますtree
。