U E D R , A S I H C RSS

CPP Study_2005_1/Canvas


1. CPPStudy_2005_1/Canvas

  • 마지막 실습이 되겠군요.

1.1. 문제

  • 여기서 도형이 그려진다 함은 단순히 도형 이름을 출력하는 것이다.
  • 삼각형, 사각형, 원, 그리고 이것의 조합으로 이루어진 도형(또 다른 조합으로 이루어진 도형도 포함 가능) 이 있다. 이 도형들을 Pallete 에 넣고 Draw 하면 Pallete 안에 있는 모든 도형이 그려진다.

1.2. Class

  • * Draw 구현은 단순히 현재 도형이름을 출력하면 된다. 도형 조합은 조합을 이루는 모든 도형 이름을 출력한다.

1.2.1. Shape

  • 슈퍼 클래스
  • 아래 4가지를 서브 클래스로 가진다.
  • Draw, Add, Remove 함수를 virtual 함수로 가진다.

1.2.1.1. Triangle

  • 삼각형
  • Draw 구현

1.2.1.2. Rectangle

  • 사각형
  • Draw 구현

1.2.1.3. Circle


  • Draw 구현

1.2.1.4. CompositeShape

  • list 사용
  • 도형 조합
  • Draw 구현
  • Add, Remove 도 구현

1.2.2. Palette

  • map 사용
  • 기본적으로 Triangle, Square 를 가지고 있다.
  • registerNewShape - 새로운 도형을 등록한다.
  • Draw - 등록된 모든 도형을 그린다.

1.2.3. 클래스 사용 예

~cpp
 Triangle aTriangle;
 Rectangle aRectangle;
 ComposedShape aComposedShape2;
 
 aComposedShape2.Add(&aTriangle);
 aComposedShape2.Add(&aRectangle);
 
 Circle aCircle;
 Rectangle aRectangle2;
 ComposedShape aComposedShape;
 
 aComposedShape.Add(&aComposedShape2);
 aComposedShape.Add(&aCircle);
 aComposedShape.Add(&aRectangle2);
           
         Pallete aPallete;
         aPallete.registerNewShape(aComposedShape);
         aPallete.Draw();
 
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:41
Processing time 0.0186 sec