さまざまなテンプレートパラメータを持つオブジェクトを持つコンテナを持つことができるのだろうかと思います。テンプレートパラメータのないテンプレートクラスのコンテナ
私はこのような何かを達成しようとしている:新しい派生クラスが必要なとき、私は私の現在のプロジェクトは少し余分なコーディングで、できるだけ柔軟かつ動的になりたい
#include <iostream>
#include <list>
template <class T>
class base
{
public:
T val;
base(T newVal): val(newVal) {};
};
class derived : public base<int>
{
public:
derived(int newVal): base(newVal) {};
};
int main (void)
{
std::list < base<?> > base_collection;
return 0;
}
、そして私の現在そのようなリストが存在することが重要になります。
正確にこれを達成するためによく使用される有益かつクリーンな方法はありますか?
"私の現在の実装では、そのような[異質な]リストが存在することが重要になります"。ああ。それは反パターンです。あなたはそのデザインを捨てる必要があります。 –
できません。 'base'は 'base 'とはまったく異なるタイプ*です。とにかく、基本クラスの変数に派生クラスオブジェクトを格納することはできません。 –
immibis