有什么办法创建一个函数来接受任何版本的给定 模板类?使用模板类作为参数
例如这个工程:
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