我最近接触过C ++模板,我想知道是否可以将其用于此目的;假设我有一个名为Swap的函数。
template<typename T>
void Swap(T class)
{
...
}
以及C1和C2类,我想要Swap(c1)之类的东西;这将使函数的返回成为新的c2,反之亦然。最有效的方法是什么?
答案 0 :(得分:0)
不需要模板,两个重载就足够了:
C2 Swap(const C1& c1) { return C2{/*...*/}; }
C1 Swap(const C2& c2) { return C1{/*...*/}; }