有什麼辦法創建一個函數來接受任何版本的給定 模板類?使用模板類作爲參數
例如這個工程:
ostream& operator << (ostream &out,const Vector<int>& vec);
但這並不:
ostream& operator << (ostream &out,const Vector& vec);
是否有可能得到第二行以某種方式爲載體的任何版本的工作? 例如vector<int>
和vector<double>
而不必編寫2個單獨的功能?
加質疑:
我做運算< <模板功能,就像你建議。爲了使向量類我嘗試添加下列到Vector類定義的一個朋友的功能,但它沒有工作:
friend ostream& operator << (ostream &out, const Vector<T>& vec);
可以做些什麼來解決它的任何想法?
如果不編輯班級的定義(並在那裏指定友誼),則無法讓某個功能成爲班級的朋友。 你可以指定你想要完成的操作符,它需要它是一個朋友功能嗎?你可能不需要友誼。 – 2009-06-14 05:52:59