C++ 스킬5: 다형성을 가진 기본 클래스에서는 소멸자를 반드시 가상 소멸자로 선언하자

 

어떤 클래스를 인스턴스를 만들지 못하는 클래스(추상 클래스)로 만들고 싶은데 마땅히 넣을 만한 순수 가상 함수가 없는 경우 순수 가상 소멸자를 선언하면 된다. (+ 소멸자의 정의도 필요하다)

 

기반 클래스로 설계되지 않았거나 다형성을 갖도록 설계되지 않은 클래스에는 가상 소멸자를 선언하지 말아야 한다.

 

C++ 스킬6: 소멸자에서 예외가 발생할 가능성을 최대한 낮추는 것이 좋다.

ㄴ 소멸자 밖으로 예외가 빠져나가지 않도록 해야 한다.

 

C++ 스킬7: 생성자와 소멸자에서는 가상 함수를 호출하지 말자.

 

+ Recent posts