[C++]°­ÁÂ(27)<--C++ÀÇ ºÎÇ°





¾ÕÀÇ ¿¹Á¦¿Í ¸ðµç ¸é¿¡¼­ µ¿ÀÏÇÏÁö¸¸ ¸â¹ö ÇÔ¼ö Áß¿¡ Moveto ÇÔ¼ö°¡ Ãß°¡·Î Á¤
ÀǵǾî ÀÖ´Ù. Moveto ÇÔ¼ö´Â ¾ÆÁÖ °£´ÜÇÑ ±¸Á¶·Î µÇ¾î ÀÖ´Ù. Àμö¸¦ µÎ °³ ¹Þ
¾Æ ±× À§Ä¡·Î Á¡À» ¿Å±â´Â ¿ªÇÒÀ» ´ã´çÇÏ°í ÀÖ´Ù. ¸ÕÀú Hide() ÇÔ¼ö¸¦ È£ÃâÇØ
¼­ ¿ø·¡ ÀÚ¸®¿¡ Ãâ·ÂµÇ¾î ÀÖ´ø Á¡À» Áö¿î´Ù. ±×¸®°í Àμö·Î µé¾î¿Â ÁÂÇ¥¸¦ »ç
¿ëÇØ Á¡ÀÇ ÁÂÇ¥¸¦ º¯°æ½ÃŲ ÈÄ »õ À§Ä¡¿¡ Á¡À» Âï´Â´Ù.
Moveto ÇÔ¼öÀÇ Á¦ÀÏ ³¡¿¡ ÀÖ´Â delay ÇÔ¼ö´Â Á¡ÀÌ À̵¿ÇÏ´Â °ÍÀ» õõÈ÷ °üÂû
Çϱâ À§ÇØ ÀϺη¯ ³Ö¾î ³õÀº °ÍÀÌ´Ù. ÀÌ ¿¹Á¦ÀÇ ³ª¸ÓÁö ºÎºÐÀº ¿©·¯ºÐ ½º½º·Î
¾ó¸¶µçÁö ºÐ¼®ÀÌ °¡´ÉÇϸ®¶ó »ý°¢ÇÏ°í ´õ ÀÌ»ó ¹®¹ýÀûÀÎ ¾ð±ÞÀ» ÇÏÁö ¾Ê°Ú´Ù.
Point Ŭ·¡½º¿¡ Moveto ÇÔ¼ö°¡ Ãß°¡µÊÀ¸·Î Çؼ­ ¾î¶² º¯È­°¡ ÀϾ´ÂÁö º¸ÀÚ.
Point Ŭ·¡½º´Â È­¸é»ó ÇÑ Á¡ÀÇ À§Ä¡¸¦ ´ëÇ¥Çϸç Á¡À» ¼û±â°í Ãâ·ÂÇÏ´Â ±â´ÉÀ»
³»ºÎ¿¡ °¡Áö°í ÀÖ´Ù. ±×¸®°í Moveto ÇÔ¼ö°¡ Ãß°¡µÊÀ¸·Î½á Ãâ·ÂµÇ¾î ÀÖ´Â Á¡À»
´Ù¸¥ À§Ä¡·Î ¿Å±æ ¼ö ÀÖ´Â ´É·ÂÀ» °¡Áö°Ô µÇ¾ú´Ù.
ÀÌ·± °ÍÀ» º¸¸é ¿Ö ¿ÀºêÁ§Æ®°¡ ½ÇÁ¦ÀÇ »ç¹°À» Ç¥ÇöÇÒ ¼ö Àִ°¡ ÇÏ´Â °Íµé¿¡
´ëÇØ ¾î·ÅDzÀÌ ÀÌÇØ°¡ °£´Ù. ¿ì¸® ¸Ó¸® ¼Ó¿¡ ÀÖ´Â Á¡À̶ó´Â °³³ä°ú ¿©±â¼­ ±¸
ÇöµÈ Point Ŭ·¡½º°¡ Á¡Á¡ ´à¾Æ°¡°í ÀÖ´Ù. À§Ä¡¸¦ °¡Áö¸ç »ö»óÀ» °¡Áö¸ç ¼ûÀ»
¼öµµ ³ªÅ¸³¯ ¼öµµ ÀÚ¸®¸¦ ¿Å±æ ¼öµµ ÀÖ´Â ±×¾ß¸»·Î »ì¾Æ ¿òÁ÷ÀÌ´Â µíÇÑ ½Çü°¡
µÇ¾î ÀÖ´Ù. ¿©±â´Ù°¡ »ö»óÀ» ¹Ù²Ù´Â ÇÔ¼ö, Å©±â¸¦ ¹Ù²Ù´Â ÇÔ¼ö, ¿øȸÀüÀ» ÇÏ´Â
ÇÔ¼ö µîÀ» ´õ Ãß°¡ÇÑ´Ù¸é ´õ¿í´õ ½ÇÁ¦ÀÇ Á¡¿¡ °¡±î¿öÁö°Ô µÉ °ÍÀÌ´Ù. ±×¸®°í
¶ÇÇÑ Å¬·¡½º°¡ µ¶¸³ÀûÀ¸·Î ÇÁ·Î±×·¥ÀÇ ºÎÇ°ÀÌ µÉ ¼ö ÀÖ´Â ÀÌÀ¯µµ Á¡Á¡ ÀÌÇØ°¡
°¥ °ÍÀÌ´Ù. Point Ŭ·¡½º´Â Ŭ·¡½ºÀÇ Á¤ÀÇ¿Í ¸â¹ö ÇÔ¼ö¸¦ °¡Áö°í ´Ù¸¥ ÇÁ·Î±×
·¥À¸·Î À̵¿ÇÏ´õ¶óµµ ÇÁ·Î±×·¥ÀÇ ´Ù¸¥ ºÎºÐ¿¡ ÀüÇô ¿µÇâÀ» ¹ÞÁö ¾Ê°í ÀÚ±â ÀÚ
½ÅÀÇ °íÀ¯ÀÇ Æ¯Â¡À» ³ªÅ¸³¾ ¼ö ÀÖÀ¸¸ç ÀÚ½ÅÀÇ ¿ªÇÒÀ» ´Ù ÇÒ ¼ö ÀÖ´Ù.
ÀÌÁ¦ ÀÌÂ÷ »ó¼ÓÀ» ¸¸µé¾îº¸ÀÚ. ÀÌÂ÷ »ó¼ÓÀ̶õ ÆÄ»ý Ŭ·¡½º¿¡¼­ ¶Ç ÆÄ»ýÀ» ½Ã
Å°´Â »ó¼ÓÀÌ´Ù. À̹ø¿¡ ¸¸µé¾î º¼ Ŭ·¡½º´Â ¿øÀ» Ç¥ÇöÇÏ´Â CircleÀ̶ó´Â Ŭ·¡
½ºÀÌ´Ù. ÀÌ ¿¹Á¦´Â Áö¸é Àý¾àÀ» À§ÇØ µÎ °³ÀÇ ÆÄÀÏ·Î ±¸¼ºµÇ¾î ÀÖ´Ù.
Çì´õ ÆÄÀÏ¿¡´Â ±â¹Ý Ŭ·¡½ºÀÎ Position Ŭ·¡½º¿Í ÀÌ Å¬·¡½º·ÎºÎÅÍ ÆÄ»ýµÈ Poi
nt Ŭ·¡½º°¡ Á¤ÀǵǾî ÀÖÀ¸¸ç CPP ÆÄÀÏ¿¡´Â Circle Ŭ·¡½º¿Í main ÇÔ¼ö°¡ Á¤ÀÇ
µÇ¾î ÀÖ´Ù. ´ÙÀ½¿¡ ¿¹Á¦ ¸®½ºÆ®¸¦ º¸À̴µ¥ EX19-3.h´Â ¾Õ¿¡¼­ °øºÎÇÑ ³»¿ëµé
ÀÌ µé¾îÀÖÀ¸¹Ç·Î Ưº°È÷ ½Å°æ½á¼­ º¸Áö ¾Ê¾Æµµ µÈ´Ù.

#include <iostream.h>
#include <graphics.h>
#include <conio.h>
#include <stdlib.h>
#include <dos.h>
enum Boolean {false,true};
class Position {        // ±â¹Ý class Á¤ÀÇ
protected:
int px,py;
public:
Position(int,int);
int Getpx() {return px;}
int Getpy() {return py;}
};
class Point:public Position {     // ÆÄ»ý class Á¤ÀÇ
protected:
int Color;
Boolean Visible;
public:
Point(int,int,int);
int Getcolor() {return Color;}
Boolean Getvisible() {return Visible;}
void Show();
void Hide();
void Moveto(int,int);
};
Position::Position(int x,int y)
{
px=x;
py=y;
}
Point::Point(int x,int y,int c):Position(x,y)
{
Color=c;
Visible=false;
}
void Point::Show()
{
Visible=true;
putpixel(px,py,Color);
}
void Point::Hide()
{
Visible=false;
putpixel(px,py,getbkcolor());
}
void Point::Moveto(int nx,int ny)
{
Hide();
px=nx;
py=ny;
Show();
delay(100);
}
                 <<ex19-3.h>>

#include <iostream.h>
#include <graphics.h>
#include <conio.h>
#include <stdlib.h>
#include <dos.h>
#include "EX19-3.h"
class Circle:public Point {
private:
int Rad;
public:
Circle(int,int,int,int);
void Show();
void Hide();
void Moveto(int,int);
void Resize(int);
int GetRad() { return Rad;}
};
Circle::Circle(int x,int y,int c,int r):Point(x,y,c)
{
Rad=r;
}
void Circle::Show()
{
Visible=true;
setcolor(Color);
circle(px,py,Rad);
}
void Circle::Hide()
{
Visible=false;
setcolor(getbkcolor());
circle(px,py,Rad);
}
void Circle::Moveto(int nx,int ny)
{
Hide();
px=nx;
py=ny;
Show();
delay(50);
}
void Circle::Resize(int nr)
{
Hide();
Rad=nr;
delay(50);
Show();
}
void main()
{
int gd=0,gm;
initgraph(&gd,&gm,"");
Circle WON(100,200,14,50);    // ¿ø °´Ã¼ »ý¼º
WON.Show();                   // °´Ã¼ÀÇ Ãâ·Â  
for (int i=0;i<30;i++)        // °´Ã¼ÀÇ À̵¿
WON.Moveto(WON.Getpx()+5,WON.Getpy());
for (int j=0;j<50;j++)        // °´Ã¼ÀÇ Å©±â º¯°æ
WON.Resize(WON.GetRad()+3);
getch();
closegraph();
}
                    <<EX19-4.CPP>>


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


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