[디딤돌 C++] 40. 상속과 다형성 실습2 (도형)

기반 클래스: Diagram, 파생 클래스:Point, Line, Rectangle

이번 실습은 도형을 소재로 할게요. 위 그림은 Visual Studio에서 제공하는 기능을 사용하여 출력한 클래스 다이어그램입니다.

 

시나리오

  1. 도형

도형 ID를 순차적으로 부여합니다.

순수 가상 메서드로 Draw 메서드를 제공합니다.

파생 형식에서도 접근 가능한 GetID 접근자를 제공합니다.

x와 y 좌표 멤버를 갖습니다.

생성자에서 x, y 좌표를 입력 인자로 받습니다.

Draw 메서드를 재정의합니다.

두 개의 점을 멤버로 갖습니다.

생성자에서 두 점의 x, y 좌표를 입력 인자로 받습니다.

Draw 메서드를 재정의합니다.

여러분께서 먼저 작성해 본 후에 비교해 보세요. 작성하다 막히면 앞에 상속과 다형성에 관한 내용을 보시면서 하시기 바랍니다. 여기에 작성한 것을 보면서 그대로 따라하는 것은 큰 의미가 없어요.

  1. IGetArea

GetArea 순수 가상 메서드를 멤버로 갖는 인터페이스입니다.

5.사각형

왼쪽 상단 좌표(left, top)와 우측 하단 좌표(right, bottom)를 멤버로 갖습니다.

생성자에서 왼쪽 상단 좌표와 우측 하단 좌표를 입력 인자로 받습니다.

Draw 메서드와 GetArea 메서드를 재정의합니다.

 

다음은 이를 사용하는 코드입니다.

다음은 실행 결과입니다.

1 점(3,4)

2 선

3 점(0,0)

4 점(5,5)

5 사각형(0,0)(10,10)

면적:100

 

클래스 다이어그램를 보고 사용하는 코드를 이용하여 실행 결과처럼 출력하는 프로그램을 작성하세요. 마찬가지로 모르는 부분은 앞에 상속과 다형성에 관한 부분을 보시면서 해도 괜찮아요. 하지만 여기에 작성한 코드를 보면서 따라 작성하는 것은 큰 의미가 없습니다.

 

다음은 예제 코드입니다.


[C++ 무료 동영상 강의] 40. 상속과 다형성 실습2 (도형)