위의 코드처럼 만약 컴파일러가 만든 함수인 복사생성자 및 대입연산자가 필요없는경우 private으로 선언함으로써 다른 객체가 이를 복사, 대입 하지 못하도록 만들 수 있다.
UncopyableHome
은 Uncopyable
을 상속받는데, 이는 기본 생성자는 상속되지만 private으로 선언된 복사 생성자와 대입 연산자는 상속되지 않아 이를 사용 할 수 없게 된다.
이러한 코드 작성으로 복사와 대입을 막을 수 있다. 위의 코드는 차후 모던 C++에서 사용되는 delete 키워드로 간단하게 선언 가능하다.