1
template<typename T> class A // template parameterization
{
private:
T t;
A(const T& v) : t(v) {}
};
class B
{
template<typename T>
B(const T& v)
{
std::cout << v << std::endl;
}
};
// usage of A and B
A<int> a;
B b(10);
問題>在什麼情況下,我們必須提供模板參數才能定義類變量。當我們需要提供模板參數來定義一個類時?
例如,
如果類包含模板成員變量或?
謝謝
+1爲了將它放在一起比我可以更好的單詞。您還可以添加一個細節,爲什麼在第二種情況下創建對象時不需要指定類型,儘管構造函數是模板函數。現在看Q,我認爲這是Q. –
@Als的目的,我試圖在編輯時解釋後一點。它很複雜,因爲在構造函數的情況下,不能告訴編譯器T是什麼...... – juanchopanza
確切地說,OP就是這樣。在我發佈之後,我意識到這一點非常重要,但是看到你的回答比我的好得多,如果解釋詳細信息,可能會更好。就是說,你已經擁有了我的+1。 :) –