C++¿¡¼´Â ±¸Á¶Ã¼ÀÇ Å±װ¡ ŸÀÔÀ¸·Î ½Â°ÝµÇ¾î ű׷κÎÅÍ ¹Ù·Î ±¸Á¶Ã¼ º¯¼ö¸¦ ¼±¾ðÇÒ ¼ö ÀÖ´Ù. ±¸Á¶Ã¼°¡ ÇϳªÀÇ Å¸ÀÔÀ¸·Î ÀÎÁ¤µÇ´Â °Í°ú ¸¶Âù°¡Áö·Î Ŭ·¡½ºµµ ÇϳªÀÇ Å¸ÀÔÀ¸·Î Ãë±ÞµÈ´Ù. Ŭ·¡½ºÀÇ À̸§Àº int, double, char °°Àº ±âº»Çü ŸÀÔ°ú µ¿µîÇÑ ÀÚ°ÝÀ» °¡Áö¸ç »ç¿ë ¹æ¹ýµµ ¶È°°´Ù. C++Àº Ŭ·¡½º°¡ ¿ÏÀüÇÑ Å¸ÀÔÀÌ µÇ±â À§ÇÑ ¿©·¯ °¡Áö ¾ð¾îÀû ÀåÄ¡(»ý¼ºÀÚ, ¿¬»êÀÚ ¿À¹ö·Îµù µî)¸¦ Á¦°øÇϴµ¥ ´ÙÀ½¿¡ µµÇ¥·Î °£·«ÇÏ°Ô Á¤¸®ÇØ º¸¾Ò´Ù.
|
Á¤¼öÇü |
Complex Ŭ·¡½º |
C++ÀÇ °ü·Ã
¹®¹ý |
|
int i; |
Complex C; |
Ŭ·¡½ºÀÇ À̸§ÀÌ Å¸ÀÔ°ú °°Àº ÀÚ°ÝÀ» °¡Áø´Ù. |
|
int i=3; |
Complex C(1.0, 2.0); |
»ý¼ºÀÚ, ¼±¾ð°ú µ¿½Ã¿¡ ÃʱâÈÇÒ ¼ö ÀÖ´Ù. |
|
int i=j; |
Complex D=C; |
º¹»ç »ý¼ºÀÚ. °°Àº ŸÀÔÀÇ ´Ù¸¥ °´Ã¼·ÎºÎÅÍ »ý¼ºµÈ´Ù. |
|
i=j; |
D=C; |
´ëÀÔ ¿¬»êÀÚ |
|
i+j; |
D+C; |
¿¬»êÀÚ ¿À¹ö·Îµù |
|
i=3.14 |
Complex C(1.2); |
º¯È¯ »ý¼ºÀÚ, º¯È¯ ÇÔ¼ö |
|
3+i |
1.0+C; |
Àü¿ª ¿¬»êÀÚ ÇÔ¼ö¿Í ÇÁ·»µå |
ÀÌ·± ¿©·¯ °¡Áö ¹®¹ý¿¡ ÀÇÇØ º¹¼Ò¼ö Ŭ·¡½ºÀÎ Complex°¡ int¿Í ¿ÏÀüÈ÷ ¶È°°Àº ÀÚ°ÝÀ» °¡Áú ¼ö ÀÖ´Ù. ¼¼ºÎÀûÀÎ ¹®¹ýÀº Â÷Â÷ ±¸°æÇÏ°Ô µÉ °ÍÀÌ°í ¿ì¼±Àº Á÷°üÀûÀ¸·Î ÀÌÇØÇϱ⠽¬¿î Ŭ·¡½º¸¦ ¿¹·Î µé¾î º¸ÀÚ.
class Complex
{
private:
double real;
double image;
public:
¸â¹ö ÇÔ¼öµé;
};
Complex Ŭ·¡½º´Â Á¦°öÇßÀ» ¶§ À½¼ö°¡ µÇ´Â º¹¼Ò¼ö¸¦ Ç¥ÇöÇÑ´Ù. º¹¼Ò¼ö´Â ÀÚ¿¬¿¡ ½ÇÁ¦·Î Á¸ÀçÇÏÁö ¾Ê´Â Çã¼öÀÌÁö¸¸ °úÇÐ °è»ê¿¡´Â Áß°£ °úÁ¤ °è»êÀ» À§ÇØ ²À ÇÊ¿äÇÏ´Ù. ¼öÇп¡¼ º¹¼Ò¼ö´Â º¸Åë a+bi·Î Ç¥ÇöµÇ´Âµ¥ a¸¦ ½Ç¼öºÎ¶ó Çϰí bi¸¦ Çã¼öºÎ¶ó ÇÑ´Ù. Complex Ŭ·¡½º´Â ½Ç¼öºÎÀÇ °ªÀ» °¡Áö´Â real°ú Çã¼öºÎÀÇ °ªÀ» °¡Áö´Â image¸¦ ¸â¹ö·Î °¡ÁüÀ¸·Î½á ½Ç¼¼°èÀÇ º¹¼Ò¼ö¸¦ ¸ðµ¨¸µÇϸç ÀÌ µÎ ¸â¹öÀÇ Á¶ÇÕÀ¸·Î ÇÊ¿äÇÑ ¸ðµç º¹¼Ò¼ö¸¦ ´Ù Ç¥ÇöÇÑ´Ù. Complex Ŭ·¡½ºÀÇ ¸â¹ö ÇÔ¼öµéÀº ÃʱâÈ, ´ëÀÔ, ¿¬»ê, Ãâ·Â µîÀÇ µ¿ÀÛÀ» ÇÒ °ÍÀÌ´Ù.
C/C++Àº ¾ð¾î Â÷¿ø¿¡¼ º¹¼Ò¼ö ŸÀÔÀ» Áö¿øÇÏÁö ¾ÊÁö¸¸ ÇÊ¿äÇÏ´Ù¸é ÀÌ·± ŸÀÔÀ» Ŭ·¡½º·Î ¸¸µé¾î »ç¿ëÇÒ ¼ö ÀÖ´Ù. Complex Ŭ·¡½º´Â int, double°ú ¸¶Âù°¡Áö·Î º¯¼ö¸¦ »ý¼ºÇÒ ¼ö ÀÖÀ¸¸ç ÇÔ¼öÀÇ Àμö³ª ¸®ÅϰªÀ¸·Îµµ »ç¿ëÇÒ ¼ö ÀÖ´Ù. »Ó¸¸ ¾Æ´Ï¶ó ¿¬»êÀÚ ÇÔ¼ö¸¦ ÀÛ¼ºÇÏ¸é º¹¼Ò¼ö³¢¸® ´õÇÏ°í »©°í °öÇÏ´Â ¿¬»êµµ °¡´ÉÇÏ´Ù. int, doubleÀÌ ¿Ã ¼ö ÀÖ´Â À§Ä¡À̸é Complexµµ ¾ðÁ¦³ª ¿Ã ¼ö ÀÖÀ¸¸ç ±×·¡¼ Ŭ·¡½º´Â ¸ðµç ¸é¿¡¼ ŸÀÔÀ̶ó°í ÇÒ ¼ö ÀÖ´Ù.
C/C++ÀÌ Å¬·¡½º¸¦ ¿ÏÀüÇÑ Å¸ÀÔÀ¸·Î ÀÎÁ¤ÇϹǷΠŬ·¡½º·ÎºÎÅÍ À¯µµÇü ŸÀÔÀ» ¸¸µé ¼öµµ ÀÖ´Ù. TÇüÀÌ ÀÖÀ» ¶§ TÇü Æ÷ÀÎÅÍ¿Í TÇü ¹è¿ÀÌ Ç×»ó °¡´ÉÇϹǷΠŬ·¡½ºÀÇ ¹è¿À̳ª Ŭ·¡½ºÇü º¯¼ö¸¦ °¡¸®Å°´Â Æ÷ÀÎÅ͵µ ¸¸µé ¼ö ÀÖ´Ù. ´ÙÀ½ ¿¹Á¦´Â Position Ŭ·¡½ºÀÇ ¹è¿À» ¼±¾ðÇϰí PositionÇü º¯¼ö¿¡ ´ëÇÑ Æ÷ÀÎÅÍ·Î ÀÌ ¹è¿À» °ü¸®ÇÑ´Ù.
|
¿¹ Á¦ : PositionClass |
#include <Turboc.h>
class Position
{
private:
int x;
int y;
char ch;
public:
void InitRand() {
x=random(80);
y=random(24);
ch=random('Z'-'A'+1)+'A';
}
void OutPosition() {
gotoxy(x, y);
putch(ch);
}
void ErasePosition() {
gotoxy(x, y);
putch(' ');
}
};
void main()
{
Position arPos[50];
Position *pPos;
int i;
randomize();
for (i=0;i<sizeof(arPos)/sizeof(arPos[0]);i++) {
arPos[i].InitRand();
arPos[i].OutPosition();
delay(50);
}
delay(1000);
pPos=arPos;
for (i=0;i<sizeof(arPos)/sizeof(arPos[0]);i++) {
pPos->ErasePosition();
pPos++;
delay(50);
}
}
±âÁ¸ÀÇ Position Ŭ·¡½º¿¡ µÎ °³ÀÇ ¸â¹ö ÇÔ¼ö°¡ Ãß°¡µÇ¾ú´Ù. InitRand ÇÔ¼ö´Â Ãâ·ÂÇÒ À§Ä¡¿Í ¹®ÀÚ¸¦ ³¼ö·Î ÃʱâÈÇϰí ErasePosition ÇÔ¼ö´Â ÀÌ¹Ì Ãâ·ÂµÇ¾î ÀÖ´Â ¹®ÀÚ¸¦ »èÁ¦ÇÑ´Ù. Position Ŭ·¡½º¿¡ ³¼ö·Î ÀÚ½ÅÀ» ÃʱâÈÇÏ´Â ±â´É°ú ÀÌ¹Ì Ãâ·ÂÇÑ ¹®ÀÚ¸¦ Áö¿ì´Â ±â´ÉÀÌ Ãß°¡µÇ¾ú´Ù. main ÇÔ¼öÀÇ Äڵ带 ºÐ¼®ÇØ º¸ÀÚ. arPos´Â PositionÇüÀÇ º¯¼ö 50°³¸¦ ´ãÀ» ¼ö Àִ Ŭ·¡½ºÀÇ ¹è¿·Î ¼±¾ðµÇ¾ú´Ù. arPos°¡ ¸Þ¸ð¸®¿¡ ±¸ÇöµÈ ¸ð¾çÀ» ±×·Á º¸ÀÚ¸é ´ÙÀ½°ú °°´Ù.

°³³äÀûÀ¸·Î ±¸Á¶Ã¼ ¹è¿°ú µ¿ÀÏÇÏ´Ù. ù ¹øÂ° i·çÇÁ´Â 0~49±îÁö ¹Ýº¹ÇÏ¸é¼ arPos[i]¸¦ ³¼ö·Î ÃʱâÈÇϰí ÃʱâÈµÈ arPos[i]ÀÇ OutPosition ÇÔ¼ö¸¦ È£ÃâÇÏ¿© ³¼ö À§Ä¡¿¡ ¹®ÀÚ¸¦ Ãâ·ÂÇÑ´Ù. ¿©±â±îÁö ½ÇÇàÇϸé ȸ鿡 50°³ÀÇ ¹®ÀÚµéÀÌ ¹«ÀÛÀ§ À§Ä¡¿¡ Ãâ·ÂµÇ¾î ÀÖÀ» °ÍÀÌ´Ù.
µÎ ¹øÂ° i·çÇÁ´Â ErasePosition ÇÔ¼ö¸¦ È£ÃâÇÏ¿© ÀÌ¹Ì Ãâ·ÂµÈ ¹®ÀÚµéÀ» »èÁ¦Çϴµ¥ À̶§´Â PositionÇüÀÇ Æ÷ÀÎÅÍ º¯¼ö pPos¸¦ »ç¿ëÇß´Ù. pPos=arPos ´ëÀÔ¹®Àº pPos¿¡ arPos ¹è¿ÀÇ ¼±µÎ ¹øÁöÀÎ &arPos[0]¸¦ ´ëÀÔÇϸç pPos++Àº pPosÀÇ ¹øÁö¸¦ sizeof(Position)¸¸Å Áõ°¡½ÃÄÑ arPos ¹è¿ÀÇ ´ÙÀ½ ¿ä¼Ò·Î À̵¿ÇÑ´Ù. arPos[0]~arPos[49]±îÁö ·çÇÁ¸¦ µ¹¸é¼ ErasePosition ¸â¹ö ÇÔ¼ö¸¦ È£ÃâÇßÀ¸¹Ç·Î Ãâ·ÂµÈ ¹®ÀÚµéÀÌ Â÷·Ê´ë·Î »ç¶óÁø´Ù.
º¸´Ù½ÃÇÇ arPos ¹è¿À̳ª pPos Æ÷ÀÎÅÍ º¯¼ö°¡ µ¿ÀÛÇÏ´Â ¹æ½ÄÀº intÇü ¹è¿À̳ª int *Çü º¯¼ö°¡ µ¿ÀÛÇÏ´Â ¹æ½Ä°ú ¿ÏÀüÈ÷ µ¿ÀÏÇÏ´Ù. ÇÊ¿äÇÏ´Ù¸é PositionÇü Æ÷ÀÎÅÍ ¹è¿À̳ª PositionÇü ÀÌÂ÷ ¹è¿, PositionÇü ÀÌÁß Æ÷ÀÎÅÍ µîµµ ¸¸µé ¼ö ÀÖÀ¸¸ç À̶§ ±âÁ¸ÀÇ C ¹®¹ýÀÌ Å¬·¡½º¿¡ ´ëÇØ¼µµ ÀϰüµÇ°Ô Àû¿ëµÈ´Ù. Ŭ·¡½º°¡ ¿ÏÀüÇÑ Å¸ÀÔÀ̱⠶§¹®ÀÌ´Ù.
Ŭ·¡½ºÀÇ À̸§Àº ÀÏÁ¾ÀÇ ¸íĪÀ̱⠶§¹®¿¡ ¸ðµ¨¸µÇÑ ´ë»óÀ» Àß Ç¥ÇöÇÒ ¼ö ÀÖ´Â À̸§À» ÀÚÀ¯·Ó°Ô ºÙÀÏ ¼ö ÀÖ´Ù. À̶§ ÀÌ ¸íĪÀÌ Å¬·¡½ºÀÓÀ» ¸íÈ®ÇÏ°Ô ³ªÅ¸³»±â À§ÇØ ÀÏÁ¾ÀÇ Á¢µÎ¾î¸¦ ºÙÀÌ´Â °ÍÀÌ °üÇàÀÌ´Ù. ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®´Â CString, CObject, CArrayó·³ Ŭ·¡½º À̸§¾Õ¿¡ C¸¦ ºÙÀ̴µ¥ ¿©±â¼ C´Â classÀÇ Ã¹ ±ÛÀÚÀÌ´Ù. º¼·£µå´Â ÁÖ·Î T¸¦ ºÙ¿© TWindow, TPen°ú °°ÀÌ Å¬·¡½ºÀÇ À̸§À» ÀÛ¼ºÇϴµ¥ À̶§ T´Â TypeÀÇ Ã¹ ±ÛÀÚÀ̸ç Ŭ·¡½º°¡ ŸÀÔÀ̶ó°í º¸´Â °üÁ¡À» Àß µå·¯³»°í ÀÖ´Ù. ÀÌ·± Ŭ·¡½º À̸§ ÀÛ¼º¹ýÀº ¾îµð±îÁö³ª °üÇàÀÏ »ÓÀ̹ǷΠ²À Áöų ÇÊ¿ä´Â ¾ø´Ù.