[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´Â °á±¹ ÇÏ
³ª¸¸ Á¸ÀçÇÏÁö¸¸ ¿©·¯ °´Ã¼¿¡¼ °øÀ¯¸¦ ÇÏ°í ÀÖ´Ù.
ÀÌ¾î¼ °è¼ÓµË´Ï´Ù. ==============>>>>>>>
--------------------------------------------------------------------------------
´ÙÀ½