1
Derived
에서 비공개 된 Base
유형이 있습니다. Derived
은 새 멤버 변수를 추가하지 않습니다.개인 상속 및 ADL 스왑
Derived
에 대한 스왑을 작성하는 올바른 방법은 무엇입니까? 우리는 Base
구성원 swap
을 가지고 가정 할 수 없다, 그래서 나는 아마 생각 :
class Derived : private Base {
public:
void swap(Derived& other) noexcept
{
using std::swap;
swap(static_cast<Base&>(*this), static_cast<Base&>(other));
}
};
가 올바르게 작동합니까?
이 아 그래, 내가 Derived''의 ADL 스왑을 왼쪽 직접 질문과 관련이 없습니다. 하지만 지적 해 주셔서 감사합니다. –