f(Base), Base b = dBase 참조/포인터라는 모양만으로는 충분하지 않다. 실제 판정은 복사로 파생 정보가 사라졌는지, 호출 지점이 virtual인지, 삭제 경로가 안전한지까지 함께 본다.
f(Base), Base b = dBase&, Base*virtual void draw()delete basevirtual ~Base()override재정의 실수를 컴파일 오류로 바꾼다.unique_ptr<Base>다형 객체의 소유권과 삭제 경로를 한곳에 묶는다.clone()처럼 명시적 복제를 제공한다.