Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

CPPStudy 2005 1/Canvas

From ZeroWiki

CPPStudy_2005_1/Canvas

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

문제

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

Class

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

Shape

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

Triangle

  • 삼각형
  • Draw 구현

Rectangle

  • 사각형
  • Draw 구현

Circle

  • Draw 구현

CompositeShape

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

Palette

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

클래스 사용 예

 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();