34-2.±× ¿ÜÀÇ ¹®¹ý

³×ÀÓ ½ºÆäÀ̽º±îÁö °øºÎÇßÀ¸¸é ÀÌÁ¦ C++ÀÇ ±âº» ¹®¹ýÀ» ¸ðµÎ ¸¶ÃÆ´Ù. ±×·¯³ª ¿©±â±îÁö °øºÎ¸¦ Çß´Ù°í Çؼ­ C++ ¹®¹ýÀ» ¸ðµÎ ´Ù »ìÆ캻 °ÍÀº ¾Æ´Ï¸ç ¾ÆÁ÷±îÁöµµ ÀϺΠºüÁø ¹®¹ýµéÀÌ ÀÖ´Ù. ÀÌ Ã¥Àº ÀÚ½À¼­À̸ç ÇнÀÀÇ ¼ø¼­¸¦ Áß¿ä½ÃÇÏ´Ùº¸´Ï Áß°£ Áß°£¿¡ ÀϺΠ°í±Þ ¹®¹ýµéÀ» ÀǵµÀûÀ¸·Î ´©¶ôÇß´Ù. ÀÌ ¹®¹ýÀº ¾î·Æ±âµµ ÇÏ°Å´Ï¿Í ³­À̵µ¿¡ ºñÇØ ½Ç¿ë¼ºÀÌ ³ôÁö ¾Ê¾Æ óÀ½ °øºÎÇÏ´Â »ç¶÷¿¡°Ô´Â ¿ÀÈ÷·Á È¥¶õ¸¸ °¡Áß½ÃÅ°¸ç Èï¹Ì¸¦ ¶³¾î¶ß¸®°í ü·ÂÀ» ¼ÒÁøÄÉÇÏ¿© ÀüÅõ·Â¿¡ Å« ¹æÇØ°¡ µÈ´Ù. µ¶ÀÚµéÀÌ ÀÌ·± ³»¿ëÀ» ¾Ë¾Æ¼­ ¼±º°ÇÒ ¼ö ÀÖ´Ù¸é ÁÁ°ÚÁö¸¸ óÀ½ ¹è¿ì´Â »ç¶÷ÀÌ ¹®¹ýÀÇ Á߿伺À» ÆÇ´ÜÇϱ⠾î·Á¿ì¹Ç·Î ±âº» ¹®¹ýÀ» ÀÍÈù ÈÄ¿¡ ½ÉÈ­ ÇнÀ ´Ü°è¿¡¼­ º¼ ¼ö ÀÖµµ·Ï µÞºÎºÐ¿¡ µû·Î Á¤¸®Çß´Ù.

Àß »ç¿ëµÇÁö ¾Ê´Â ¹®¹ýµéÀ̱â´Â ÇÏÁö¸¸ ±×·¸´Ù°í Çؼ­ ÀüÇô ¾µ µ¥°¡ ¾ø´Â ¹®¹ýÀº ¾Æ´Ï´Ù. ¶§·Î´Â ÀÌ·± ¹®¹ýµéÀÌ ¿ä±äÇÏ°Ô È°¿ëµÇ´Â °÷µµ ÀÖ°í ¾Ë¾Æ µÎ¸é C++¾ð¾î¿Í °´Ã¼ ÁöÇâ¿¡ ´ëÇØ ´õ ±í°Ô ÀÌÇØÇÒ ¼ö ÀÖ´Â Àç¹ÌÀÖ´Â ³»¿ëµéµµ ¸¹´Ù. ´Ù¸¸ »ç¿ë ºóµµ°¡ ³·¾Æ C++À» óÀ½ºÎÅÍ ¼ø¼­´ë·Î °øºÎÇÏ´Â »ç¶÷¿¡°Ô´Â ¾î·Á¿ö º¸ÀÌ°í Çʿ伺À» ´À³¢Áö ¸øÇϹǷΠÇнÀÀÇ È帧À» ¹æÇØÇÏÁö ¾Êµµ·Ï º°µµ·Î Á¤¸®ÇØ ³õÀº °Í »ÓÀÌ´Ù. C++¿¡ ´ëÇÑ °³³äÀ» ÀÍÈú ¶§´Â ÀÌ·± °í±Þ ¹®¹ýÀ» ¹«½ÃÇÏ´Â °ÍÀÌ ÁÁÀ¸¸ç ¾î´À Á¤µµ °æÇèÀÌ ½×ÀÌ¸é ±×¶§ ³»°ø Çâ»óÀ» À§ÇØ ÀÐ¾î º¸µµ·Ï ÇÏÀÚ.

34-2-°¡.°´Ã¼ÀÇ Àڱ⠹æ¾î

½ÇÁ¦ ¼¼»ó¿¡ Á¸ÀçÇÏ´Â ¸ðµç »ç¹°µéÀº ÀÚ½ÅÀÌ °¡Áú ¼ö ÀÖ´Â Àû¹ýÇÑ ¼Ó¼º ¹üÀ§¸¦ °¡Áö°í ÀÖÀ¸¸ç ¹üÀ§¸¦ Áö³ªÄ¡°Ô ¹þ¾î³ª´Â »ç¹°Àº Á¦´ë·Î µÈ »ç¹°ÀÌ ¾Æ´Ï´Ù. ¿¹¸¦ µé¾î »ç¶÷ÀÇ ³ªÀÌ°¡ 2000»ìÀÏ ¼ö´Â ¾ø°í ¸ð´ÏÅÍÀÇ Å©±â°¡ 380ÀÎÄ¡¶ó°Å³ª -17ÀÎÄ¡°¡ µÉ ¼ö´Â ¾ø´Ù. ½Ç¼¼°èÀÇ »ç¹°À» ¸ðµ¨¸µÇÏ´Â °´Ã¼µµ ¸¶Âù°¡Áö·Î ÀûÀýÇÑ °ªÀ» °¡Áú ¶§¸¸ ÀǹÌÀÖ´Â °´Ã¼°¡ µÉ ¼ö ÀÖÀ¸¸ç °ªÀÌ Æ²¸®¸é °´Ã¼´Â ¹«È¿ÇØÁø´Ù. ¿¹¸¦ µé¾î ´ÙÀ½°ú °°Àº ¼±¾ð¹®À¸·Î °´Ã¼¸¦ »ý¼ºÇß´Ù°í ÇØ º¸ÀÚ.

 

Position Where(120,-100,'Z');

Person Grand(NULL,4900);

 

ÄÜ¼Ö È­¸éÀº °¡·Î·Î 80, ¼¼·Î·Î 25ÀÇ ¹üÀ§¸¦ °¡Áö¸ç (120, -100)À̶ó´Â ÁÂÇ¥´Â Á¸ÀçÇÏÁö ¾ÊÀ¸¹Ç·Î ÀÌ·± ÁÂÇ¥¸¦ ³ªÅ¸³»´Â Position Ŭ·¡½ºÀÇ °´Ã¼ Where´Â ¹«È¿ÇÏ´Ù. ¶ÇÇÑ »ç¶÷À» Ç¥ÇöÇÏ´Â Person Ŭ·¡½ºÀÇ Grand °´Ã¼´Â À̸§ÀÌ ¾øÀ¸¸ç ³ªÀÌ°¡ ¹«·Á 4900»ìÀ̹ǷΠ½ÇÁ¦·Î Á¸ÀçÇÏ´Â »ç¶÷ÀÏ ¼ö ¾ø´Ù. ¸¶Âù°¡Áö·Î ³¯Â¥ °´Ã¼°¡ 13¿ù 38ÀÏ·Î ÃʱâÈ­µÈ´Ù°Å³ª ¸¶¿ì½º °´Ã¼ÀÇ ¹öÆ° ¼ö°¡ 101°³°¡ µÈ´Ù¸é ÀÌ ¿ª½Ã ¹«È¿ÇÑ °´Ã¼µéÀÌ´Ù.

¹«È¿ÇÑ °´Ã¼´Â ³í¸®ÀûÀ¸·Î À߸øµÇ¾úÀ» »Ó¸¸ ¾Æ´Ï¶ó Ä¡¸íÀûÀÎ ¿¡·¯ÀÇ ¿øÀÎÀÌ µÇ±âµµ ÇÑ´Ù. À§ ¿¹ÀÇ Grand °´Ã¼ÀÇ °æ¿ì À̸§ÀÌ NULLÀε¥ ÀÌ °´Ã¼ÀÇ À̸§À» Ãâ·ÂÇѴٰųª ±æÀ̸¦ Á¶»çÇѴٰųª ¶Ç´Â À̸§ ¹öÆÛ¸¦ º¯°æÇÏ°íÀÚ ÇÑ´Ù¸é ¾î¶»°Ô µÇ°Ú´Â°¡? ÇÁ·Î±×·¥ÀÇ ¸ðµç ³í¸®°¡ Á¤È®ÇÏ´Ù¸é ÀÌ·± ¸»µµ ¾ÈµÇ´Â °´Ã¼µéÀÌ ¸¸µé¾îÁú ¸®°¡ ¾ø°ÚÁö¸¸ Çö½ÇÀûÀ¸·Î ½Ç¼ö³ª ¶Ç´Â ºÒ°¡ÇÇÇÑ ¿¹¿Ü·Î ÀÌ·± °´Ã¼°¡ ¸¸µé¾îÁú °¡´É¼ºÀº Ç×»ó ÀÖ´Ù.

µû¶ó¼­ Ŭ·¡½º´Â ÀÌ·± À߸øµÈ »óÅÂÀÇ °´Ã¼°¡ ¸¸µé¾îÁöÁö ¾Êµµ·Ï ½º½º·Î ¹æ¾îÇØ¾ß ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. °´Ã¼°¡ ÃʱâÈ­µÇ´Â ½ÃÁ¡Àº »ý¼ºÀÚ°¡ È£ÃâµÉ ¶§À̹ǷΠ»ý¼ºÀÚ¿¡¼­ ÀμöÀÇ °ªÀ» º¸°í °ú¿¬ ±ÔÄ¢¿¡ ¸Â´Â °´Ã¼ÀÎÁö ¾Æ´ÑÁö¸¦ Á¡°ËÇÒ ¼ö ÀÖ´Ù. ±¸Á¶Ã¼´Â ¿ÜºÎ¿¡¼­ ÁÖ´Â °ªÀ» ¼±ÅÃÀÇ ¿©Áö¾øÀÌ ÀúÀåÇϱ⸸ Çϴµ¥ ºñÇØ °´Ã¼´Â »ý¼ºÀÚ°¡ Á÷Á¢ ÃʱâÈ­ÇϹǷΠ½º½º·ÎÀÇ ¹«°á¼ºÀ» Áöų ¼ö ÀÖ´Ù. °´Ã¼¸¦ ¹«È¿ÇÏ°Ô ¸¸µé °¡´É¼ºÀÌ ÀÖ´Â Àμö°¡ Àü´ÞµÇ¾úÀ» ¶§ »ý¼ºÀÚ´Â ¿©·¯ °¡Áö Á¶Ä¡¸¦ ÃëÇÒ ¼ö Àִµ¥ ¾î¶² ½ÄÀ¸·Î ÀÚ½ÅÀ» ¹æ¾îÇÒ ¼ö ÀÖ´ÂÁö °¡´ÉÇÑ ¹æ¹ýµéÀ» ¿­°ÅÇØ º¸ÀÚ. ¾Æ·¡ÀÇ ÄÚµåµéÀº selfdefence ¿¹Á¦·Î ÀÛ¼ºµÇ¾î ÀÖÀ¸¹Ç·Î Çϳª¾¿ ÁÖ¼®À» Ç®¾î°¡¸ç Å×½ºÆ®ÇØ º¸¾Æ¶ó.

 

¨ç °¡Àå ½¬¿î ¹æ¹ýÀº ½ÃÅ°´Â´ë·Î ÇÏ°í º°µµÀÇ Á¶Ä¡¸¦ ÃëÇÏÁö ¾Ê´Â °ÍÀÌ´Ù. Á» ÀÌ»óÇÏ°Ô µé¸®°ÚÁö¸¸ ¶§·Î´Â ÀÌ·± ¹æ¹ýÀÌ °¡Àå Çö¸íÇÒ ¼öµµ ÀÖ´Ù. ¿Ö³ÄÇϸé ÀÌ·± °´Ã¼¸¦ ¸¸µç °÷¿¡¼­ Àá½Ã ÈÄ °´Ã¼ÀÇ ÀÌ»ó µ¿ÀÛÀ» È®ÀÎÇÏ°í Ʋ·È´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖÀ¸¸ç µû¶ó¼­ °ð ¸ðÁ¾ÀÇ Á¶Ä¡¸¦ ÃëÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù. ÀÌ·± ¿øÄ¢À» GIGO(Garbage In Garbage Out:±»ÀÌ ¹ø¿ªÇÏÀÚ¸é "´Ï°¡ À߸øÇßÀݾÆ")¶ó Çϴµ¥ ÀÔ·ÂÀÌ Æ²·ÈÀ¸´Ï Ʋ¸°´ë·Î µ¿ÀÛÇϵµ·Ï ³»¹ö·ÁµÐ´Ù´Â ¶æÀÌ´Ù.

¨è Á¶°ÇÀÌ ¸¸Á·µÇÁö ¾ÊÀ» °æ¿ì ÃʱâÈ­¸¦ °ÅºÎÇÏ°í ¾²·¹±â°ªÀ» °¡Áöµµ·Ï ³» ¹ö·ÁµÐ´Ù. Position °´Ã¼ÀÇ °æ¿ì ¼¼ ÀԷ°ª Áß ¹®ÀÚ´Â ¾Æ¹«°ªÀ̳ª Çã¿ëÇÏ°í ÁÂÇ¥°ªÀº ÄÜ¼Ö È­¸é ¾È¿¡ ÀÖ´ÂÁö¸¦ Á¡°ËÇÒ ¼ö ÀÖ´Ù. »ý¼ºÀÚÀÇ Äڵ带 ¼öÁ¤ÇÑ´Ù¸é ´ÙÀ½°ú °°¾ÆÁú °ÍÀÌ´Ù.

 

Position(int ax, int ay, char ach) {

     if (ax >=0 && ax < 80 && ay >=0 && ay < 25) {

          x=ax;  y=ay;  ch=ach;

     }

}

 

ÀÌ·¸°Ô µÇ¸é °ªÀÌ À¯È¿ÇÒ ¶§¸¸ ÃʱâÈ­µÇ¸ç ±×·¸Áö ¾ÊÀ» °æ¿ì´Â ¹«½¼ °ªÀÏÁöµµ ¸ð¸£´Â ¾²·¹±â°ªÀ» °¡Áö°Ô µÈ´Ù. ÀÌ ¹æ¹ýÀº ù ¹ø° ¹æ¹ýº¸´Ù ¿ÀÈ÷·Á ´õ ¹«Ã¥ÀÓÇÑ ¹æ¹ýÀÌ´Ù. ¾²·¹±â°ªº¸´Ù´Â Â÷¶ó¸® ÀÔ·ÂµÈ Æ²¸°°ªÀ» °¡Áöµµ·Ï ÇÏ´Â °ÍÀÌ ´õ ³´´Ù.

¨é Ʋ¸° °ªÀÌ ÀԷµǾúÀ» ¶§ ¹«³­ÇÑ °ªÀ¸·Î ¹Ù²ã¼­ ÃʱâÈ­ÇÑ´Ù. ÁÂÇ¥ÀÇ °æ¿ì ¿øÁ¡ÀÎ (0,0)ÀÌ °¡Àå ¹«³­ÇÏ¸ç ±ÛÀÚ´Â °ø¹éÀ¸·Î ÃʱâÈ­ÇÏ¸é µÉ °ÍÀÌ´Ù.

 

Position(int ax, int ay, char ach) {

     if (ax >=0 && ax < 80 && ay >=0 && ay < 25) {

          x=ax;  y=ay;  ch=ach;

     } else {

          x=y=0;

          ch=' ';

     }

}

 

ÀÌ·¸°Ô µÇ¸é ÀÏ´Ü °´Ã¼ ÀÚü´Â À¯È¿ÇØÁö¹Ç·Î ÀÌ»ó µ¿ÀÛÀ» ÇÒ À§ÇèÀº ¾ø¾îÁø´Ù. ±×·¯³ª ÀÌ °´Ã¼¸¦ ¸¸µç »ç¶÷Àº ÀÚ½ÅÀÌ °´Ã¼¸¦ À߸ø ¸¸µé¾ú´Ù´Â °ÍÀ» È®ÀÎÇϱ⠾î·Á¿ì¸ç Ʋ¸°Áöµµ ¸ð¸£°í ½ÇÇàµÉ °ÍÀÌ´Ù. GIGOÀÇ ¿øÄ¢¿¡ ¾î±ß³ª¹Ç·Î ¹Ù¶÷Á÷ÇÏÁö´Â ¾ÊÁö¸¸ Á¤¸»·Î ¹«³­ÇÑ °ªÀÌ Á¸ÀçÇϴ Ŭ·¡½º¶ó¸é ÀÌ ¹æ¹ýÀ» ¾µ ¼öµµ ÀÖ´Ù.

¨ê Ʋ¸° ÀԷ¿¡ ´ëÇØ Àû±ØÀûÀÎ ¿¡·¯ 󸮸¦ ÇÑ´Ù. ÀÌ ¹æ¹ýÀÌ °¡Àå ÁÁ¾Æ º¸ÀÌ°ÚÁö¸¸ ¾ÈŸ±õ°Ôµµ »ý¼ºÀÚ¿¡¼­ ÇÒ ¼ö ÀÖ´Â ¿¡·¯ 󸮿¡´Â ÇÑ°è°¡ ÀÖ´Ù. »ý¼ºÀ» °ÅºÎÇѴٰųª ½º½º·Î¸¦ Æı«ÇÏ´Â °ÍÀº ºÒ°¡´ÉÇѵ¥ ¿Ö³ÄÇϸé ÄÄÆÄÀÏ·¯°¡ »ý¼ºÀÚ¸¦ È£ÃâÇß´Ù´Â °ÍÀº »ý¼ºµÈ´Ù´Â ½ÅÈ£¸¦ º¸³½ °ÍÀÌÁö »ý¼ºÇصµ µÇ´À³Ä´Â Áú¹®À» ÇÑ °ÍÀÌ ¾Æ´Ï±â ¶§¹®ÀÌ´Ù. °Ô´Ù°¡ »ý¼ºÀÚ´Â ¸®ÅÏ°ªÀÌ ¾ø±â ¶§¹®¿¡ ¿¡·¯¸¦ º¸°íÇÒ ¹æ¹ýµµ ¾ø°í ¼³»ç ÀÖ´Ù ÇÏ´õ¶óµµ »ý¼ºÇÑ °÷¿¡¼­ ÀÌ °ªÀ» Á¡°ËÇϱ⵵ ¾î·Æ´Ù. ±â²¯ÇØ¾ß ¿À·ù°¡ ÀÖ´Ù´Â ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÏ´Â Á¤µµ¸¸ ÇÒ ¼ö ÀÖ´Ù.

 

Position(int ax, int ay, char ach) {

     if (ax >=0 && ax < 80 && ay >=0 && ay < 25) {

          x=ax; y=ay; ch=ach;

     } else {

          puts("¾ß! °ªÀÌ Æ²·ÈÀݾÆ. ´Ï Äڵ带 Á¡°ËÇØ ºÁ.");

     }

}

 

½ÇÇàÁß¿¡ °©ÀÚ±â ÀÌ·± ¿¡·¯ ¸Þ½ÃÁö°¡ Ãâ·ÂµÇ¸é »ç¿ëÀÚ´Â ´çȲ½º·¯¿öÇÏ°ÚÁö¸¸ »ý¼ºÀÚ°¡ ¿¡·¯¿¡ ´ëÇØ ÃëÇÒ ¼ö ÀÖ´Â °¡Àå ÁÁÀº ´ëÃ¥ÀÌ ¹Ù·Î ¿¡·¯¸¦ ³ÃÅ­ ¾Ë¸®´Â °ÍÀÌ´Ù. °³¹ßÀÚ°¡ ÀÌ ¸Þ½ÃÁö¸¦ º»´Ù¸é ÀÚ½ÅÀÇ ½Ç¼ö¸¦ Áï½Ã ¼öÁ¤ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¾îÂ÷ÇÇ °³¹ßÀÚ¿¡°Ô ¹ö±×´Â ÇÇÇÒ ¼ö ¾ø´Â ¼÷¸íÀ̶ó¸é ±× ¹ö±×¸¦ °¡±ÞÀûÀÌ¸é »¡¸®, Á¤È®ÇÏ°Ô ¾Ë ¼ö ÀÖµµ·Ï ÇÏ´Â °ÍÀÌ ÃÖ¼±ÀÇ ÇØ°áÃ¥ÀÌ´Ù. ½ÇÇàÁß¿¡ ¿¡·¯¸¦ º¸°íÇÏ´Â Á» ´õ °ø½ÄÀûÀÌ°í ±ÇÀåµÇ´Â ¹æ¹ýÀÌ ¹Ù·Î assert ÇÔ¼öÀÌ´Ù.

 

Position(int ax, int ay, char ach) {

     assert(ax >=0 && ax < 80 && ay >=0 && ay < 25);

     x=ax; y=ay; ch=ach;

}

 

assert ÇÔ¼ö´Â °ýÈ£¾ÈÀÇ Á¶°ÇÀÌ ¸¸Á·µÇÁö ¾ÊÀ» °æ¿ì ÇÁ·Î±×·¥À» Áï½Ã Á¾·áÇÏ°í ¾îµð°¡ ¾î¶»°Ô ¿Ö Ʋ·È´Ù´Â °ÍÀ» Ãâ·ÂÇÑ´Ù. ±×·¡¼­ °³¹ßÀÚ¿¡°Ô ½Ç¼ö¸¦ È®½ÇÇÏ°Ô ¾Ë·Á ÃÖ´ëÇÑ ½Å¼ÓÇÏ°Ô ¹ö±×¸¦ °íÄ¥ ¼ö ÀÖµµ·Ï ÇÑ´Ù. Ʋ¸° Äڵ带 °¡Áö°í ³ªÁß¿¡ ¸»½éÀ» ºÎ¸± ¹Ù¿¡¾ß Â÷¶ó¸® Áö±Ý Á×¾î ¹ö¸®¶ó´Â Áö½ÃÀÎ °ÍÀÌ´Ù. Àß ¸¸µé¾îÁø Ŭ·¡½ºÀÇ ³»ºÎ¸¦ µé¿©´Ù º¸¸é ¿©±âÀú±â¿¡ assert(¶Ç´Â ASSERT)¹®ÀÌ ÀÖ´Â °ÍÀ» º¼ ¼ö Àִµ¥ À̴ Ŭ·¡½º °³¹ßÀÚ°¡ ½º½º·Î¸¦ ¹æ¾îÇϱâ À§ÇØ ÃÄ ³õÀº ÀÏÁ¾ÀÇ ¹ö±× Æ®·¦ÀÌ´Ù. ¿©·¯ºÐµéµµ ½ÇÁ¦ ÇÁ·ÎÁ§Æ®¸¦ ÇÑ´Ù¸é assert¸¦ °¡±ÞÀû ¸¹ÀÌ È°¿ëÇØ¾ß ÇÑ´Ù.

±×·¯³ª ÀÌ Ã¥ÀÇ ¿¹Á¦µéÀº assert¸¦ »ç¿ëÇÏÁö ¾ÊÀ¸¸ç Ʋ¸° ÀԷ¿¡ ´ëÇØ ¾Æ¹«·± Á¶Ä¡µµ ÃëÇÏÁö ¾Ê´Âµ¥ ÀÌ´Â ¿¹Á¦·Î¼­ÀÇ º»ºÐÀ» Ãæ½ÇÈ÷ ¼öÇàÇϱâ À§Çؼ­ÀÏ »ÓÀÌ´Ù. ¿ø·ÐÀûÀÎ ¿¹Á¦¿¡ ¹ß»ý ºóµµ°¡ Èñ¹ÚÇÑ ¿¡·¯ 󸮹®À» ¿©±âÀú±â »ðÀÔÇÏ´Â °ÍÀº ¼³¸íÇÏ°íÀÚ ÇÏ´Â ³í¸®¿¡ ÁýÁßÇϴµ¥ ¹æÇØ°¡ µÈ´Ù. ±×·¯³ª ½ÇÀü¿¡¼­´Â assert¸¦ ²À, ±×°Íµµ °¡±ÞÀûÀÌ¸é ¸¹ÀÌ ½á¾ß ÇÑ´Ù´Â °ÍÀ» ¸í½ÉÇϵµ·Ï ÇÏÀÚ. ÈçÈ÷ ÇÏ´Â ¸»·Î assert·Î µµ¹è¸¦ ÇØ ³ö¾ß Çϸç ÀÌ µµ¹èÁþÀÌ À§±âÀÇ ¼ø°£¿¡ Á¤¸» Å« ÈûÀÌ µÈ´Ù.

¨ë C++ÀÌ ¾ð¾î Â÷¿ø¿¡¼­ °¡Àå ±ÇÀåÇÏ´Â ¹æ¹ýÀº ¿¹¿Ü¸¦ ´øÁö´Â °ÍÀÌ´Ù. »ý¼ºÀÚ´Â ¸®ÅÏÀ» ÇÒ ¼ö ¾øÁö¸¸ ¿¹¿Ü¸¦ ´øÁú ¼ö´Â ÀÖ´Ù.

 

     Position(int ax, int ay, char ach) {

          if (ax < 0 || ax >= 80) {

              throw ax;

          }

          if (ay < 0 || ay >= 25) {

              throw ay;

          }

          x=ax; y=ay; ch=ach;

     }

 

void main()

{

     try {

          Position Where(120,-100,'Z');

          Where.OutPosition();

     } catch(int a) {

          printf("%d´Â È­¸é ¹Ù±ùÀÇ ÁÂÇ¥ÀÔ´Ï´Ù.\n",a);

     }

}

 

ÁÂÇ¥°¡ ¿øÇÏ´Â ¹üÀ§ ¹Ù±ùÀÏ °æ¿ì ÀÌ °ªÀ» ¿¹¿Ü·Î ´øÁ³´Ù. Á» ´õ »ó¼¼ÇÑ ¿¹¿Ü Á¤º¸¸¦ Àü´ÞÇÏ°í ½ÍÀ¸¸é ³»ºÎ¿¡ ¿¹¿Ü Ŭ·¡½º¸¦ Á¤ÀÇÇÏ°í ÀÌ Å¬·¡½ºÀÇ °´Ã¼¸¦ ´øÁö¸é µÈ´Ù. ¿¹¿Ü¸¦ ÀÏÀ¸Å³ ¼ö ÀÖ´Â °´Ã¼ »ý¼º¹®Àº try catch ºí·ÏÀ¸·Î °¨½Î¾ß ÇϹǷΠ´Ù¼Ò ¹ø°Å·Î¿î ¸éÀÌ ÀÖ±â´Â ÇÏ´Ù.

 

»ý¼ºÀÚ¿¡¼­ ÀÚ½ÅÀ» ÃʱâÈ­ÇÒ ¶§ »Ó¸¸ ¾Æ´Ï¶ó ½ÇÇàÁß¿¡ °´Ã¼ÀÇ »óŸ¦ º¯°æÇÏ´Â ¸â¹ö ÇÔ¼öµéµµ À߸øµÈ °ªÀ¸·ÎºÎÅÍ ÀÚ½ÅÀ» ¹æ¾îÇÒ ¼ö ÀÖ´Ù. »ç¿ëÀÚµéÀÌ Á¤È®ÇÑ »ç¿ë¹æ¹ýÀ» ¼÷ÁöÇÏÁö ¸øÇÑ »óÅ·Π°´Ã¼¸¦ ºÎÁÖÀÇÇÏ°Ô ´Ù·ê ¼öµµ Àֱ⠶§¹®¿¡ ¾ÈÀü¼ºÀ» ³ôÀ̱â À§ÇØ °´Ã¼´Â ¼¶¼¼ÇÑ ¿¡·¯ 󸮸¦ ÇØ¾ß ÇÑ´Ù. ¸â¹ö ÇÔ¼ö´Â °ªÀ» ¸®ÅÏÇÒ ¼öµµ ÀÖ°í °´Ã¼¸¦ Æı«ÇÒ ¼öµµ ÀÖÀ¸¹Ç·Î »ý¼ºÀÚº¸´Ù ÈξÀ ´õ ´Ù¾çÇÑ ¹æ¹ýÀ¸·Î ¿¡·¯¿¡ ´ëóÇÒ ¼ö ÀÖ´Ù.