我讀了interesting things關於複製交換習語。我的問題是關於從另一個類繼承時執行swap
方法的問題。複製交換習語,繼承
class Foo : public Bar
{
int _m1;
string _m2;
.../...
public:
void swap(Foo &a, Foo &b)
{
using std::swap;
swap(a._m1, b._m1);
swap(a._m2, b._m2);
// what about the Bar private members ???
}
.../...
};
好,非常感謝,我想投,但我用',而不是'酒吧Bar''... – gregseth
爲了避免鑄造,你可以做「Bar&a_bar = a,&b_bar = b; swap(a_bar,b_bar);」 –