Template
public cpp v1 · immutabletemplate <class T>void swap(T& par1,T& par2){ T temp = par1; // Der Kopierkonstruktor muss vorhanden sein par1 = par2; // Der Zuweisungsoperator muss vorhanden sein par2 = temp;} // Der Destruktor muss vorhanden sein, damit temp zerstört werden kannclass Test{public: Test() { };public: ~Test() { } Test& operator=(const Test& ) { return *this; } Test(const Test& ) { }private:};int main(){ char c1 = 1, c2 = 2; swap(c1,c2); Test t1,t2; swap(t1,t2); return 0;}