我想知道如果你可以有一個帶有不同模板參數的對象的容器。沒有模板參數的模板類的容器
我想實現這樣的事情:
#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;
}
我想我目前的項目是靈活,動態地,很少有額外的編碼當一個新的派生類是必要的,而且我現在的實施使得這樣的清單存在很重要。
有沒有一個常用的,有益的和乾淨的方式來實現這一點?
「我當前的實現使得這樣一個[異類]列表存在很重要」。哦。這是一種反模式。你需要拋棄這種設計。 –
不,你不能。 '基地'是與*基地'完全不同的類型*。無論如何,你不能將派生類對象存儲在基類變量中。 –
immibis