類模闆的定義,一般的簡單定義很多,我以為我了解,當我想嘗試取去用的時候,發現并非如此。
簡單定義如下:
template<class T> // typename 可以代替 class
class Unity{
private:
T a;
public:
void show(T b){}; //聲明與定義擋在一起
};
在測試程式中
int main(){
Unity<int> u;
……
}
遇到的一個問題:模闆不能和函數一樣在頭檔案中聲明,在另一個程式中實作,會導緻“編譯分離”,應該有方法可以解決這個問題,但是我暫時沒有實作,需要時進一步研究。
那麼就按照推薦的聲明與定義盡量保持在一個檔案中