인터페이스
이펙티브 C++(250p ~ 261p)
이펙티브 C++ https://www.yes24.com/Product/Goods/17525589 페이지 250p ~ 261p 이펙티브 C++(250p ~ 261p) 요약 항목 34: 인터페이스 상속과 구현 상속의 차이를 제대로 파악하고 구별하자 인터페이스 및 기본 구현을 제공하는 함수를 별도로 마련하는 방법을 별로 좋아하지 않을 수도 있다. 이를 위해 순수 가상 함수가 파생 클래스에서 재선언되어야 한다는 사실을 활용하되, 자체적으로 순수 가상 함수의 구현을 준비해 둘 수 있다. class Airplane { public: virtual void fly(const Airport& destination) = 0; } void Airplane::fly(const Airport& destination) { //..
이펙티브 C++(132p ~ 142p)
이펙티브 C++ https://www.yes24.com/Product/Goods/17525589 페이지 132p ~ 142p 요약 항목 16: new 및 delete를 사용할 때는 형태를 반드시 맞추자 new 연산자를 사용해서 어떤 객체를 동적 할당하면 내부적으로는 두 가지가 진행된다. 메모리가 할당된다. 할당된 메모리에 대해 한 개 이상의 생성자가 호출된다. delete 연산자를 사용할 때에는 내부적으로 다음과 같은 동작이 진행된다. 기존에 할당된 메모리에 대해 한 개 이상의 소멸자가 호출된다. 메모리가 해제된다. 이때, delete 연산자가 적용되는 객체의 수는 소멸자가 호출되는 횟수와 같다. 삭제되는 포인터는 객체 하나만 가리킬까, 아니면 객체의 배열을 가리킬까? new로 힙에 만들어진 단일 객체의..