例如
class A {
public:
void fun(Array a);
void fun(Vector a);
/* Most codes in these two functions are same. */
/* Can certainly be merged into a template function if they were not member functions. */
}
请注意,我希望在A类中同时拥有这两个版本的fun()。谢谢。
答案 0 :(得分:2)
即使该类本身没有模板化,您也可以编写一个成员函数,该函数的模板化方式与编写不是类方法的模板化函数的方式相同。
template <class myType >
myType func (myType a) {
/* do something */;
}
答案 1 :(得分:0)
是的,有可能,请参阅this SO问题。
答案 2 :(得分:0)
是的,可以像普通功能一样创建模板成员函数。只需保持代码的通用性,就像它可以在涉及矢量和其他数据类型的情况下一样。
template <typename T>
void fun(T var) {}