C ++模板类比较

时间:2019-01-06 13:48:54

标签: c++ templates

我最近接触过C ++模板,我想知道是否可以将其用于此目的;假设我有一个名为Swap的函数。

template<typename T>
void Swap(T class)
{
  ...
}

以及C1和C2类,我想要Swap(c1)之类的东西;这将使函数的返回成为新的c2,反之亦然。最有效的方法是什么?

1 个答案:

答案 0 :(得分:0)

不需要模板,两个重载就足够了:

C2 Swap(const C1& c1) { return C2{/*...*/}; }
C1 Swap(const C2& c2) { return C1{/*...*/}; }