21

Java には、すべてのクラスがそのサブクラスである「オブジェクト」と呼ばれる汎用クラスがあります。リンクされたリスト ライブラリ (学校のプロジェクト用) を作成しようとしていますが、複数ではなく 1 つのタイプのみで機能するように管理しました。それに似たものはありますか?

編集:コードを投稿しますが、現時点では持っていません。

4

2 に答える 2

29

C++ にはジェネリック基本クラスはありません。

独自のクラスを実装してそこからクラスを派生させることはできますが、ポリモーフィズムを利用するには、ポインター (またはスマート ポインター) のコレクションを保持する必要があります。

編集:あなたの質問を再分析した後、私は指摘しなければなりませんstd::list.

複数のタイプに特化できるリストが必要な場合std::listは、テンプレートを使用します (そしてテンプレートです)。

std::list<classA> a;
std::list<classB> b;

単一のインスタンスで異なる型を保持できるリストが必要な場合は、基本クラスのアプローチを使用します。

std::list<Base*> x;
于 2012-07-31T19:22:30.423 に答える