Tôi đã đọc interesting things về thành ngữ sao chép và hoán đổi. Câu hỏi của tôi là liên quan đến việc thực hiện phương thức swap
khi kế thừa từ một lớp khác.thành ngữ sao chép và hoán đổi, với thừa kế
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 ???
}
.../...
};
Ok, cảm ơn, tôi đã cố gắng dàn diễn viên, nhưng tôi sử dụng 'Bar' thay vì 'Bar &' ... – gregseth
Để tránh đúc, bạn có thể làm "Bar & a_bar = a, & b_bar = b; hoán đổi (a_bar, b_bar);" –