클래스 설계는 타입 설계와 같다. 새로운 타입을 정의하기 전에 몇 가지 고려사항을 점검해 보자. 클래스 설계는 타입 설계 여느 객체 지향 프로그래밍 언어처럼, C++에서 새로운 클래스를 정의한다는 것은 새로운 타입을 정의하는 것과 같다. C++ 개발을 한다는 것은 타입을 새로 만드는 일과 같으며 함수와 연산자를 오버로드하고, 메모리 할당 및 해제를 제어하며, 객체 초기화 및 종료처리를 정의하는 작업 모두 관리해 주어야 한다. 좋은 클래스를 설계하는 것은 꽤 어렵다. 문법이 자연스럽고, 의미구조가 직관적이며, 효율적인 구현이 가능해야 한다. 성능 또한 무시할 수 없는 부분이다. 다음은 좋은 클래스를 설계하기 위해 고려해 볼 사항 몇 가지이다. 새로 정의한 타입의 객체 생성 및 소멸은 어떻게 이루어져야 하는..