C++ 예제로 배우는 소프트웨어 설계 기법 (5) — 도형 편집기(Shape)

사각형, 원, 삼각형을 그리고 복사·붙여넣기하고 파일에서 다시 읽어 들이는 도형 편집기는 객체지향 설계를 연습하는 고전적인 예제다. 도형 종류를 값으로 구분해 switch로 처리하면 새 도형을 추가할 때마다 흩어진 switch를 모두 찾아…

Continue ReadingC++ 예제로 배우는 소프트웨어 설계 기법 (5) — 도형 편집기(Shape)

C++ 고급 문법 (16) — protected 생성자(protected Constructor)

생성자를 public이 아닌 곳에 두면 "누가 이 객체를 만들 수 있는가"를 클래스가 직접 정할 수 있다. protected 생성자는 파생 클래스만 기반 부분을 만들게 해서, 순수 가상 함수 없이도 기반 클래스를…

Continue ReadingC++ 고급 문법 (16) — protected 생성자(protected Constructor)