-5
我想創建一個多個模板對象的數組。模板類對象數組
例如,如何使填充有這些2個對象的數組:
Foo< A, B, C > FooItem (bar_, bor_);
Foo < D, E, F > FooItem2 (bur_, ber_);
myArray[0] = FooItem;
myArray[1] = FooItem2;
void *指針數組?古典陣列?
謝謝!
我想創建一個多個模板對象的數組。模板類對象數組
例如,如何使填充有這些2個對象的數組:
Foo< A, B, C > FooItem (bar_, bor_);
Foo < D, E, F > FooItem2 (bur_, ber_);
myArray[0] = FooItem;
myArray[1] = FooItem2;
void *指針數組?古典陣列?
謝謝!
可以使用對的載體:
std::vector< std::pair< Foo<A, B, C>, Foo<D, E, F> > > array;
相反,如果你想有一個簡單的數據陣列:
std::pair< Foo<A, B, C>, Foo<D, E, F> > array[size];
我假設你的意思是你想要的數組是能夠容納不同類型的對象。一個簡單的數組不能做到這一點,因爲所有的元素必須是相同的類型,並且void*
不會有太大的用處,因爲沒有辦法確定任何對象的類型,因此沒有辦法做任何有用的事情。
各種可能性,取決於你打算如何使用的對象的陣列中,包括:
dynamic_cast
或typeid
與對象進行交互。
該帖子顯示的是函數聲明。對象在哪裏? –
問題不明確。請嘗試http://whathaveyoutried.com/ –
'std :: vector'和[Boost Any](http://www.boost.org/doc/libs/1_52_0/doc/html/any.html)? –