[C++]2ºÎ°­ÁÂ(46)<--[ ] ¿¬»êÀÚ





* Ŭ·¡½º ³»ºÎ¿¡¼­ÀÇ ¼±¾ð
numpos¶ó´Â Á¤¼öÇüÀÇ º¯¼ö°¡ Àִµ¥ ºñ·Ï Ŭ·¡½ºÀÇ ¹Ù±ù¿¡ À§Ä¡ÇÏ°í ÀÖÁö¸¸
¸â¹ö·Î¼­ÀÇ ÀÚ°ÝÀ» ÁØ´Ù.

* Ŭ·¡½º ¿ÜºÎ¿¡¼­ÀÇ ¼±¾ð
Position Ŭ·¡½º¿¡ ¼ÓÇÑ Á¤Àû ¸â¹öÀÎ numpos¸¦ ¼±¾ðÇÑ´Ù. Position Ŭ·¡½ºÀÇ
¹Ù±ù¿¡¼­ ¼±¾ðµÇ¾î ¿©±â¼­ ¸Þ¸ð¸®¸¦ ÇÒ´ç¹ÞÁö¸¸ ¼Ò¼ÓÀº Position Ŭ·¡½ºÀÓÀ»
¹àÈù´Ù.

Á¤Àû µ¥ÀÌÅÍ ¸â¹ö´Â °´Ã¼°¡ »ý¼ºµÉ ¶§´Â »ý¼ºµÇÁö ¾Ê´Â´Ù. ÀÏ¹Ý µ¥ÀÌÅÍ ¸â¹ö
µéÀº °´Ã¼°¡ »ý¼ºµÉ ¶§¸¶´Ù ¸Å¹ø »õ·Î¿î ¸Þ¸ð¸®¸¦ ÇÒ´ç¹ÞÁö¸¸ Á¤Àû µ¥ÀÌÅÍ ¸â
¹ö´Â Ŭ·¡½º¿Í ÇÔ²² ÀÌ¹Ì »ý¼ºÀÌ µÇ¾úÀ¸¹Ç·Î °´Ã¼ »ý¼º½Ã¿¡´Â ´õ ÀÌ»ó »ý¼ºÀÌ
µÇÁö ¾Ê´Â´Ù. ÇÏÁö¸¸ Á¤Àû µ¥ÀÌÅÍ ¸â¹öµµ ºÐ¸íÈ÷ Ŭ·¡½ºÀÇ ¸â¹öÀ̹ǷΠŬ·¡½º
ÀÇ ¸â¹ö ÇÔ¼öµéÀÌ ¾×¼¼½ºÇÒ ¼ö°¡ ÀÖÀ¸¸ç °´Ã¼µéµµ Á¤Àû µ¥ÀÌÅÍ ¸â¹ö¸¦ ÂüÁ¶ÇÒ
¼ö°¡ ÀÖ´Ù. ¿©·¯ °³ÀÇ °´Ã¼°¡ Çϳª»ÓÀÎ Á¤Àû µ¥ÀÌÅÍ ¸â¹ö¸¦ ÂüÁ¶ÇϹǷΠ°´Ã¼°¡
Á¤Àû µ¥ÀÌÅÍ ¸â¹ö¸¦ °øÀ¯ÇÑ´Ù°í ÇÒ ¼ö ÀÖ´Ù. ÀÌÂë¿¡¼­ ¿¹Á¦¸¦ º¸ÀÚ. ¾Õ¿¡¼­ ÀÌ
¹Ì ¼³¸íÇßµíÀÌ ¿©±â¼­ ÀÛ¼ºµÈ ¿¹Á¦´Â »ý¼ºµÈ °´Ã¼ÀÇ °³¼ö¸¦ ³ªÅ¸³»´Â numpos¸¦
Á¤Àû µ¥ÀÌÅÍ ¸â¹ö·Î ¼±¾ðÇÏ°í ÀÖ´Ù.

#include <stdio.h>
#include <iostream.h>
#include <conio.h>
class Position{
private:
 int px;
 int py;
 char ch;
public:
 static int numpos;       // Á¤Àû ¸â¹öÀÇ ¼±¾ð
 void outpos();
 Position(int,int,char);
};
void Position::outpos()
{
gotoxy(px,py);
putch(ch);
gotoxy(1,1);
cout << numpos;
}
Position::Position(int x,int y,char c)
{
px=x;
py=y;
ch=c;
numpos++;
}
int Position::numpos=0;   // Á¤Àû ¸â¹ö¸¦ Ŭ·¡½º ¿ÜºÎ¿¡¼­ ´Ù½Ã ¼±¾ð
void main()
{
clrscr();
Position A(10,10,'A');
A.outpos();
getch();
Position B(11,11,'B');
B.outpos();
getch();
Position C(12,12,'C');
C.outpos();
getch();
Position D(13,13,'D');
D.outpos();
getch();
Position E(14,14,'E');
E.outpos();
getch();
}

ÀÌ ¿¹Á¦¸¦ ½ÇÇà½ÃÅ°¸é (10,10)¿¡¼­ºÎÅÍ ¿ìÇÏÇâ ´ë°¢¼±À¸·Î PositionÀÇ °´Ã¼°¡
´Ù¼¸ °³ »ý¼º, Ãâ·ÂµÈ´Ù. ±×¸®°í °´Ã¼°¡ »ý¼ºµÉ ¶§¸¶´Ù numposÀÇ °ªÀ» 1¾¿ Áõ
°¡½ÃŲ´Ù. numposÀÇ °ªÀ» È­¸éÀÇ (1,1)¿¡ Ãâ·Â½ÃÄÑ ±× °ªÀÌ ¾î¶»°Ô º¯Çϴ°¡¸¦
º¸¿©ÁÖ°í ÀÖ´Ù.
28Çà¿¡¼­ numpos°¡ Position Ŭ·¡½º¿¡ ¼ÓÇÏ´Â Á¤¼öÇü ¸â¹öÀÓ°ú 0À¸·Î ÃʱâÈ­
½ÃŲ´Ù´Â °ÍÀ» ¹àÈ÷°í ÀÖÀ¸¸ç ¿©±â¼­ numpos¿¡ ´ëÇÑ ¸Þ¸ð¸® ÇÒ´çÀÌ ¹ß»ýÇÑ´Ù.
9ÇàÀÇ Å¬·¡½º ¼±¾ð¹®³»¿¡¼­´Â numpos°¡ Position Ŭ·¡½º¿¡ ¼ÓÇÏ´Â Á¤Àû µ¥ÀÌÅÍ
¸â¹öÀÓÀ» ¹àÈù´Ù. main ÇÔ¼öÀÇ 32ÇàÀ» º¸ÀÚ. 32Çà¿¡¼­ PositionÇüÀÇ °´Ã¼ A°¡
»ý¼ºµÇ¸ç À̶§ °´Ã¼ A°¡ ÇÒ´ç¹Þ´Â ¸Þ¸ð¸®´Â 5¹ÙÀÌÆ®ÀÌ´Ù. ¿Ö 5¹ÙÀÌÆ®Àΰ¡Çϸé
px, py, chÀÇ ¸â¹öµéÀÌ µé¾î°¥ ÀÚ¸® ¸¸Å­ÀÇ ¸Þ¸ð¸®¸¸À» ÇÒ´ç¹Þ°í numposÀÇ ¸Þ
¸ð¸®´Â ÇÒ´ç¹ÞÁö ¾Ê±â ¶§¹®ÀÌ´Ù.
sizeof(A)¶Ç´Â sizeof(Position)Àº 5ÀÓÀ» È®ÀÎÇϱ⠹ٶõ´Ù. ¸Þ¸ð¸® ÇÒ´ç ÈÄ
°´Ã¼ »ý¼ºÀÚ°¡ È£ÃâµÇ°í °´Ã¼ »ý¼ºÀÚ¿¡¼­ »õ·Î¿î °´Ã¼°¡ ´Ù½Ã »ý°åÀ¸¹Ç·Î nump
os¸¦ 1 Áõ°¡½ÃŲ´Ù. 53Çà¿¡¼­ A°´Ã¼¸¦ Ãâ·ÂÇÏ°í ´õºÒ¾î numposÀÇ °ªµµ Ãâ·ÂÇÑ
´Ù. È­¸éÀÇ (10,10)¿¡ 'A'°¡ Ãâ·ÂµÇ°í (1,1)¿¡ numposÀÇ °ª 1ÀÌ Ãâ·ÂµÉ °ÍÀÌ´Ù.
35Çà ÀÌÇÏ¿¡¼­ 4°³ÀÇ °´Ã¼¸¦ ¸¸µéµÇ numposÀÇ °ªÀº °´Ã¼°¡ »ý¼ºµÉ ¶§¸¶´Ù 1¾¿
Áõ°¡ÇÑ´Ù. °´Ã¼°¡ ¸ðµÎ »ý¼ºµÈ ÈÄÀÇ ¸Þ¸ð¸® ±×¸²Àº ´ÙÀ½°ú °°ÀÌ µÉ °ÍÀÌ´Ù.

               Position Ŭ·¡½º
             ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤
             ¦¢px            ¦¢
             ¦¢py            ¦¢
             ¦¢ch            ¦¢
             ¦¢Position()    ¦¢
             ¦¢outpos()      ¦¢
             ¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥

  A        B        C        D        E
¦£¦¡¦¡¦¤  ¦£¦¡¦¡¦¤¦£¦¡¦¡¦¡¦¤¦£¦¡¦¡¦¤¦£¦¡¦¡¦¡¦¤
¦¢ px ¦¢  ¦¢px  ¦¢¦¢ px   ¦¢¦¢px  ¦¢¦¢ px   ¦¢
¦¢ py ¦¢  ¦¢py  ¦¢¦¢  y   ¦¢¦¢py  ¦¢¦¢ py   ¦¢
¦¢ ch ¦¢  ¦¢ch  ¦¢¦¢  h   ¦¢¦¢ch  ¦¢¦¢ ch   ¦¢
¦¦¦¡¦¨¦¥  ¦¦¦¨¦¡¦¥¦¦¦¡¦¨¦¡¦¥¦¦¦¡¦¨¦¥¦¦¦¡¦¨¦¡¦¥
  ¦¢      ¦¢        ¦¢        ¦¢      ¦¢
  ¦¢      ¦¢    ¦£¦¡¦ª¦¡¦¡¦¡¦¤¦¢      ¦¢
  ¦¦¦¡¦¡¦¡¦ª¦¡¦¡¦©  numpos  ¦§¦ª¦¡¦¡¦¡¦¥
                ¦¦¦¡¦¡¦¡¦¡¦¡¦¥

Á¤ÀûÀÌ ¾Æ´Ñ µ¥ÀÌÅÍ ¸â¹öµéÀº °´Ã¼°¡ °³º°ÀûÀ¸·Î ¼ÒÀ¯Çϸç numpos´Â °á±¹ ÇÏ
³ª¸¸ Á¸ÀçÇÏÁö¸¸ ¿©·¯ °´Ã¼¿¡¼­ °øÀ¯¸¦ ÇÏ°í ÀÖ´Ù.

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


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

    

 ´ÙÀ½