종종 객체의 인터페이스를 분리하기 위해 추상 기본 클래스를 갖는 것이 좋습니다.
문제는 CHO에서는 복사 생성 (IMHO)이 기본적으로 거의 깨져 있고 기본적으로 복사 생성자가 생성된다는 것입니다.
그렇다면 파생 클래스에 추상 기본 클래스와 원시 포인터가있을 때의 문제점은 무엇입니까?
class IAbstract
{
~IAbstract() = 0;
}
class Derived : public IAbstract
{
char *theProblem;
...
}
IAbstract *a1 = new Derived();
IAbstract a2 = *a1;//???
이제 전체 계층 구조에 대해 복사 구성을 완전히 비활성화합니까? 에서 사본 구성을 비공개로 선언 IAbstract
하시겠습니까?
추상 기본 클래스에 세 가지 규칙이 있습니까?