[C++]°­ÁÂ(31)<--´ÙÁß»ó¼Ó





¿¹Á¦¸¦ ½ÇÇà½ÃÅ°¸é ±×·¡ÇÈ È­¸é¿¡ "test string"À̶õ ¹®ÀÚ¿­ÀÌ ³ªÅ¸³ª¸ç ÀÌ
¹®ÀÚ¿­ÀÌ ¾Æ·¡ÂÊÀ¸·Î À̵¿ÇÏ°Ô µÈ´Ù. Position Ŭ·¡½ºÀÇ Á¤ÀÇ´Â ¾Õ¿¡¼­ ÀÛ¼ºÇß
´ø Çì´õ ÆÄÀÏÀ» includeÇÔÀ¸·Î½á ¾ÆÁÖ °£´ÜÈ÷ Á¤ÀÇÇÏ°í ÀÖ´Ù. Çì´õ ÆÄÀÏÀÇ ÀÌ
Á¡À̶õ ¹Ù·Î ÀÌ·± °ÍÀÌ´Ù. ¿©±â±îÁö ¿ì¸®°¡ ¿¹Á¦¸¦ ¸¸µé¾î ¿À¸é¼­ »ç¿ëÇß´ø Ŭ
·¡½ºµéÀ» Àá½Ã Á¤¸®Çغ¸¸é ´ÙÀ½°ú °°Àº °ÍµéÀÌ ÀÖ´Ù. ÇöÀç ¿©·¯ºÐµéÀº Ŭ·¡½º
¿¡ °üÇÑ ±âÃÊ »çÇ×À» °øºÎÇÏ°í ÀÖ´Â ÁßÀ̹ǷΠÀÌ Å¬·¡½ºµéÀÇ Æ¯¼º¿¡ °üÇØ ¼÷Áö
ÇÏ´Â °ÍÀÌ °øºÎ¿¡ µµ¿òÀÌ µÉ °ÍÀÌ´Ù.

Position   : È­¸é»óÀÇ ÇÑ À§Ä¡¸¦ ´ëÇ¥
Point     : È­¸é»óÀÇ ÇÑ Á¡À» ´ëÇ¥
Circle    : È­¸é»óÀÇ ÇÑ ¿øÀ» ´ëÇ¥
Message    : È­¸é»óÀÇ ¸Þ½ÃÁö¸¦ ´ëÇ¥


³ª. Messcir Ŭ·¡½º

À̹ø¿¡ ¸¸µé¾î º¸°íÀÚ Çϴ Ŭ·¡½º´Â È­¸é»óÀÇ ¿ø°ú ÇÔ²² ¿ø ³»ºÎ¿¡ Message
¸¦ ÇÔ²² Ãâ·ÂÇϴ Ŭ·¡½ºÀÌ´Ù. Ŭ·¡½ºÀÇ À̸§À» Messcir·Î ºÙÀÌÀÚ. ÀÌ Å¬·¡½º
¿¡¼­ ÇÊ¿äÇÑ µ¥ÀÌÅÍ´Â ´ÙÀ½°ú °°´Ù.

px,py    : ¿øÀÇ Áß½É
Rad      : ¿øÀÇ ¹ÝÁö¸§
Color    : ¿øÀÇ »ö»ó
message  : Ãâ·ÂÇÒ ¸Þ½ÃÁö

º¸´Ù½ÃÇÇ Messcir Ŭ·¡½º¸¦ ¸¸µé±â À§ÇÑ ¸ðµç Àç·á°¡ ÀÌ¹Ì ¾Õ¿¡¼­ ÀÛ¼ºÇß´ø
Ŭ·¡½º¿¡ ¸ðµÎ ´Ù µé¾îÀֱ⠶§¹®¿¡ º°µµ·Î Ŭ·¡½º¸¦ ¸¸µé ÇÊ¿ä¾øÀÌ »ó¼ÓÀ» ¹Þ
À¸¸é µÈ´Ù. ±×·¯³ª °¢°¢ÀÇ µ¥ÀÌÅÍ°¡ À§Ä¡ÇÏ°í Àִ Ŭ·¡½º°¡ ÇÑ Å¬·¡½º¿¡ ÀüºÎ
´Ù µé¾îÀÖ´Â °ÍÀÌ ¾Æ´Ï¶ó Circle Ŭ·¡½º¿Í Message Ŭ·¡½º¿¡ ³ª´©¾îÁ® À§Ä¡ÇÏ
°í ÀÖ´Ù. ±×·¡¼­ Messcir Ŭ·¡½º¸¦ ¸¸µé·Á¸é µÎ °³ÀÇ Å¬·¡½º·ÎºÎÅÍ µ¿½Ã¿¡ »ó
¼Ó¹Þ¾Æ¾ß ÇÑ´Ù. ´ÙÁß »ó¼Ó¿¡ ÀÇÇØ ÆÄ»ý Ŭ·¡½º¸¦ ¸¸µå´Â ÀϹÝÀû ¹®¹ýÀº ´ÙÀ½°ú
°°´Ù.

                     public               public       
class ÆÄ»ý Ŭ·¡½º À̸§:         ±â¹Ý Ŭ·¡½º1         ±â¹Ý Ŭ·¡½º2
                     private              private
{
¸ã¹ö Á¤ÀÇ
}

ÆÄ»ý Ŭ·¡½º Á¤Àǹ®¿¡ ±â¹Ý Ŭ·¡½º À̸§À» ÄÞ¸¶·Î ±¸ºÐÇؼ­ µÎ °³ ´Ù Àû¾î ÁÖ
¸é µÈ´Ù. ±×·³ ½ÇÁ¦ ¿¹Á¦¸¦ º¸°í ºÐ¼®Çغ¸ÀÚ.

#include <iostream.h>
#include <graphics.h>
#include <conio.h>
#include <stdlib.h>
#include <dos.h>
#include <string.h>
#include <iostream.h>
#include <graphics.h>
#include <conio.h>
#include <stdlib.h>
#include <dos.h>
enum Boolean {false,true};
class Position {               // Position classÀÇ Á¤ÀÇ
protected:
 int px,py;
public:
 Position(int x,int y)      // »ý¼ºÀÚ Á¤ÀÇ
 { px=x; py=y; }
};
class Point:public Position {  // Point Ŭ·¡½º Á¤ÀÇ
protected:
 int Color;
 Boolean Visible;
public:
 Point(int x,int y,int c):Position(x,y)  // »ý¼ºÀÚ Á¤ÀÇ
 { Color=c; Visible=false; }
};
class Circle:public Point {    // Circle Ŭ·¡½º Á¤ÀÇ
private:
 int Rad;
public:
 Circle(int x,int y,int c,int r):Point(x,y,c) // »ý¼ºÀÚ Á¤ÀÇ
 { Rad=r; }
 void Show();
 };
class Message:public Position {  // Message Ŭ·¡½º Á¤ÀÇ
protected:
 char msg[50];
public:
 Message(int mx,int my,char *str):Position(mx,my)
   { strcpy(msg,str); }
 void Show();
};
class Messcir:public Circle,public Message // Messcir Ŭ·¡½ºÁ¤ÀÇ
{                                        // ´ÙÁß »ó¼Ó ¹ÞÀ½
public:
 Messcir(int x,int y,int c,int r,char *mes)
     :Circle(x,y,c,r),Message(x,y,mes) { }
 void Show();
};
void Circle::Show()
{
Visible=true;
setcolor(Color);
circle(px,py,Rad);
}
void Message::Show()
{
setcolor(WHITE);
outtextxy(px,py,msg);
}
void Messcir::Show()  // µÎ °³ÀÇ ±â¹Ý Ŭ·¡½ºÀÇ Show
{                   // ÇÔ¼ö¸¦ Â÷·Ê·Î È£ÃâÇÑ´Ù.
Circle::Show();
Message::Show();
}
void main()
{
int gd=0,gm;
initgraph(&gd,&gm,"");
settextjustify(CENTER_TEXT,CENTER_TEXT);
Messcir MC1(100,100,14,100,"first object");  // °´Ã¼ 1 »ý¼º
MC1.Show();
Messcir MC2(300,200,14,70,"second object");  // °´Ã¼ 2 »ý¼º
MC2.Show();
getch();
closegraph();
}

½ÇÇà °á°ú´Â ´ÙÀ½°ú °°´Ù. º¸´Ù½ÃÇÇ Messcir Ŭ·¡½ºÀÇ °´Ã¼´Â ¿øÀ» Ç¥ÇöÇÔ°ú
µ¿½Ã¿¡ ¸Þ½ÃÁöµµ Ãâ·ÂÇÒ ¼ö ÀÖ´Ù.

*)±×¸²:¿ø µÎ°³°¡ ±×·ÁÁ® ÀÖ°í °¡¿îµ¥ ¹®ÀÚ¿­ÀÌ ÀÖ´Â ±×¸²ÀÓ

ÀÌ ¿¹Á¦´Â µÇµµ·Ï °£´ÜÇÏ°Ô ÀÛ¼ºÇϱâ À§ÇØ »ý¼ºÀÚ ÇÔ¼ö´Â ¸ðµÎ inlineÀ¸·Î Áý
¾î³Ö°í ´çÀå ¾²ÀÌÁö ¾Ê´Â Hide(), Setpx() µîÀÇ ÇÔ¼ö´Â ¸ðÁ¶¸® Á¦°ÅÇØ ¹ö·È´Ù.
¿À·ÎÁö °´Ã¼ÀÇ »ý¼º, Ãâ·Â¸¸À» º¸À̱â À§ÇØ Á¦ÀÛµÈ ¿¹Á¦À̹ǷΠ´ÙÁß »ó¼Ó¸¸ ÀÌ
ÇØ Çϱâ·Î ÇÏÀÚ. 43Çà±îÁö´Â ¾Æ¸¶ ¾Õ¿¡¼­ ¸ðµÎ °øºÎÇß´ø ÇÔ¼öµéÀ̹ǷΠÂß Çѹø
ÈȾ ºÁµµ ´Ù ÀÌÇØÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÌ ¿¹Á¦¿¡¼­ »ç¿ëµÈ Àüü Ŭ·¡½º °èÃþ
Àº ´ÙÀ½°ú °°´Ù.

                ¦£¦¡¦¡¦¡¦¡¦¡¦¤
                ¦¢ Position ¦¢  
                ¦¦¦¡¦¡¦¨¦¡¦¡¦¥
    ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦ª¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤
¦£¦¡¦ª¦¡¦¡¦¤                          ¦£¦¡¦¡¦ª¦¡¦¡¦¤
¦¢ Point  ¦¢                          ¦¢ Message  ¦¢
¦¦¦¡¦¨¦¡¦¡¦¥                          ¦¦¦¡¦¡¦¨¦¡¦¡¦¥
    ¦¢                                      ¦¢
    ¦¢                                      ¦¢
¦£¦¡¦ª¦¡¦¡¦¤                                ¦¢
¦¢ Circle ¦¢                                ¦¢
¦¦¦¡¦¨¦¡¦¡¦¥                                ¦¢
    ¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¨¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥
                ¦£¦¡¦¡¦ª¦¡¦¡¦¤
                ¦¢ Messcir  ¦¢
                ¦¦¦¡¦¡¦¡¦¡¦¡¦¥


À̾ °è¼ÓµË´Ï´Ù. ==============>>>>>>>


--------------------------------------------------------------------------------