28-1.¿¬»êÀÚ ÇÔ¼ö

28-1-°¡.±âº»ÇüÀÇ ¿¬»êÀÚ

¿¬ÀÚÀÚ¸¦ ¿À¹ö·ÎµùÇÒ ¼ö ÀÖ´Ù´Â °ÍÀº C++¾ð¾îÀÇ Å« Ư¡À̸ç Ŭ·¡½º°¡ ŸÀÔÀÓÀ» º¸¿©ÁÖ´Â ´ÜÀûÀÎ ¿¹¶ó°í ÇÒ ¼ö ÀÖ´Ù. Á¶±Ý ¾î·Æ±â´Â ÇÏÁö¸¸ ¹®¹ýÀÌ Ã¼°èÀûÀ̾ ÀÌÇØÇÏ°í ³ª¸é ¾ð¾îÀÇ Áú¼­¸¦ ´À³¥ ¼ö ÀÖÀ¸¸ç ¿ÀÈ÷·Á Àç¹ÌÀֱ⵵ ÇÏ´Ù. Á» ¼¼»ï½º·´±â´Â ÇÏÁö¸¸ C/C++¾ð¾î°¡ Á¦°øÇÏ´Â ±âº»ÇüÀÇ ¿¬»ê¹®À» ÇÑ ¹ø »ìÆìº¸ÀÚ. ´ëÇ¥ÀûÀ¸·Î µ¡¼À ¿¬»ê¹®À» º¸¸é ´ÙÀ½°ú °°Àº ±¸¹®ÀÌ °¡´ÉÇÏ´Ù.

 

int i1=1,i2=2;

double d1=3.3,d2=4.4;

 

int i=i1+i2;               // Á¤¼ö µ¡¼À

double d=d1+d2;      // ½Ç¼ö µ¡¼À

 

Çϳª´Â Á¤¼ö³¢¸® ´õÇØ Á¤¼öÇü º¯¼ö¿¡ ´ëÀÔÇϰí Çϳª´Â ½Ç¼ö³¢¸® ´õÇØ ½Ç¼öÇü º¯¼ö¿¡ ´ëÀÔÇϴµ¥ µÑ ´Ù Àß µ¿ÀÛÇÑ´Ù. ¿¬»ê °á°ú i´Â 3ÀÌ µÇ°í d´Â 7.7ÀÌ µÉ °ÍÀÌ´Ù. µ¡¼À ¿¬»êÀÚÀÎ +´Â ÇÇ¿¬»êÀÚÀÇ Å¸ÀÔÀÌ ´Þ¶óµµ ¹®Á¦¾øÀÌ Á¤È®ÇÏ°Ô ¿¬»êÀ» ÇØ ³½´Ù. ³Ê¹« »ó½ÄÀûÀ̾ ´ç¿¬ÇÑ °Íó·³ »ý°¢µÇ°ÚÁö¸¸ ÀÌ ¿¬»êÀÌ ¼º¸³ÇÏ´Â ÀÌÀ¯µµ ¾Ë°íº¸¸é ³ª¸§´ë·Î º¹ÀâÇÏ´Ù. Á¤¼öÇü°ú ½Ç¼öÇüÀº ±æÀ̵µ ´Ù¸£°í ºñÆ® ±¸Á¶µµ »óÀÌÇØ¼­ °¢ ŸÀÔÀ» ´õÇÏ´Â ¾Ë°í¸®ÁòÀÌ ºÐ¸íÈ÷ ´Ù¸£°ÚÁö¸¸ ¶È°°Àº ¿¬»êÀÚ·Î µÎ ŸÀÔÀÇ µ¡¼ÀÀÌ °¡´ÉÇÑ °ÍÀÌ´Ù.

ÀÌ·¸°Ô µÇ´Â ÀÌÀ¯´Â µ¡¼À ¿¬»êÀÚ°¡ ÇÇ¿¬»êÀÚÀÇ Å¸ÀÔ¿¡ µû¶ó ¿À¹ö·ÎµùµÇ¾î Àֱ⠶§¹®ÀÌ´Ù. Áï, Á¤¼ö µ¡¼ÀÀ» ÇÏ´Â ÄÚµå¿Í ½Ç¼ö µ¡¼ÀÀ» ÇÏ´Â Äڵ尡 °¢°¢ µû·Î ÀÛ¼ºµÇ¾î ÀÖÀ¸¸ç ÄÄÆÄÀÏ·¯´Â µ¡¼À ¿¬»êÀÚÀÇ ¾çº¯¿¡ ÀÖ´Â ÇÇ¿¬»êÀÚÀÇ Å¸ÀÔÀ» Á¡°ËÇÑ ÈÄ µÑ ´Ù Á¤¼öÀÏ °æ¿ì Á¤¼ö³¢¸® ´õÇÏ´Â Äڵ带 È£ÃâÇÏ°í µÑ ´Ù ½Ç¼öÀÏ °æ¿ì ½Ç¼ö³¢¸® ´õÇÏ´Â Äڵ带 È£ÃâÇÑ´Ù. Á¤¼öÀÇ °æ¿ì ºÎÈ£°¡ °°À¸¸é Àý´ë°ªÀ» ´õÇÏ°í ºÎÈ£°¡ ´Ù¸£¸é Àý´ë°ª³¢¸® »©°í ºÎÈ£´Â Å« ÂÊÀ» µû¸¦ °ÍÀÌ¸ç ½Ç¼öÀÇ °æ¿ì Áö¼ö¸¦ ÀÏÄ¡½ÃŲ ÈÄ µ¡¼ÀÀ» ÇÒ °ÍÀÌ´Ù. ÀμöÀÇ Å¸ÀÔÀÌ ´Ù¸£¸é °°Àº À̸§À¸·Î ÇÔ¼ö¸¦ Áߺ¹ Á¤ÀÇÇÒ ¼ö ÀÖ´Â °Íó·³ ¿¬»êÀÚµµ ÇÇ¿¬»êÀÚÀÇ Å¸ÀÔ¿¡ µû¶ó Áߺ¹ Á¤ÀÇÇÒ ¼ö ÀÖ´Ù. + ±âÈ£¸¦ µ¡¼ÀÀ» ÇÏ´Â ÇÔ¼öÀÇ À̸§À̶ó°í ÇßÀ» ¶§ ÀÌ ÇÔ¼öÀÇ ¿øÇüÀº ¾Æ¸¶µµ ´ÙÀ½°ú °°ÀÌ ¿À¹ö·ÎµùµÇ¾î ÀÖÀ» °ÍÀÌ´Ù.

 

int +(int, int);

double +(double, double);

 

À§ÂÊ ÇÔ¼ö´Â Á¤¼ö³¢¸® ´õÇÑ ÈÄ Á¤¼ö¸¦ ¸®ÅÏÇÏ°í ¾Æ·¡ÂÊ ÇÔ¼ö´Â ½Ç¼ö³¢¸® ´õÇÑ ÈÄ ½Ç¼ö¸¦ ¸®ÅÏÇÑ´Ù. i1+d1°°ÀÌ Á¤¼ö¿Í ½Ç¼ö¸¦ ¼¯¾î¼­ ´õÇÒ °æ¿ì´Â ÄÄÆÄÀÏ·¯ÀÇ Çüº¯È¯ ±â´É¿¡ ÀÇÇØ i1ÀÌ ½Ç¼ö·Î »ó½Â º¯È¯µÈ ÈÄ ½Ç¼ö³¢¸® µ¡¼ÀÀ» ÇÏ°Ô µÉ °ÍÀÌ´Ù. ¶Ç Æ÷ÀÎÅÍ¿Í Á¤¼öÀÇ µ¡¼Àµµ »ê¼úÀûÀÎ µ¡¼À°ú ´Ù¸£°Ô Á¤ÀǵǾî Àִµ¥ ÀÌ ¿¬»êµµ ÀÏÁ¾ÀÇ ¿À¹ö·ÎµùµÈ ¿¹¶ó°í ÇÒ ¼ö ÀÖ´Ù. ÀÌ¿¡ ºñÇØ char * +(char *, char *) µûÀ§ÀÇ ¿øÇüÀº Á¤ÀǵǾî ÀÖÁö ¾ÊÀ¸¹Ç·Î ¹®ÀÚ¿­À̳ª Æ÷ÀÎÅͳ¢¸®´Â ´õÇÒ ¼ö ¾ø´Ù. ¸¶Âù°¡Áö·Î Æ÷ÀÎÅÍ¿¡ ½Ç¼ö¸¦ ´õÇÒ ¼öµµ ¾ø´Âµ¥ ÀÌ·± µ¿ÀÛÀ» ó¸®ÇÒ ¼ö ÀÖ´Â ¿¬»êÀÚ°¡ Á¸ÀçÇÏÁö ¾Ê±â ¶§¹®ÀÌ´Ù.

±âº»Çü¿¡ ´ëÇØ ¿¬»êÀÚ°¡ Áߺ¹ Á¤ÀǵǾî ÀÖ´Â °ÍÀº Á¤¸» ´ÙÇེ·¯¿î ÀÏÀÌ´Ù. ÇÇ¿¬»êÀÚÀÇ Å¸ÀÔ¿¡ µû¶ó »ç¿ëÇØ¾ß ÇÏ´Â ¿¬»êÀÚ°¡ ´Þ¶óÁø´Ù¸é ¾ó¸¶³ª ÇǰïÇϰڴ°¡? ÇÇ¿¬»êÀÚÀÇ Å¸ÀÔÀÌ ´Þ¶óµµ +¶ó´Â ¶È°°Àº ¸ð¾çÀÇ ¿¬»êÀÚ·Î ÀϰüµÇ°Ô µ¡¼À ¿¬»êÀ» ÇÒ ¼ö ÀÖ´Â °ÍÀº ´ÙÇü¼ºÀÇ ¿¹ÀÌ´Ù. Á¤¼öµç ½Ç¼öµç ´õÇÏ°í ½ÍÀ¸¸é + ¿¬»êÀÚ¸¦ ¾²±â¸¸ ÇÏ¸é µÈ´Ù. ±×·¯³ª ¿¬»êÀÚÀÇ ÀÌ·± Áߺ¹ Á¤ÀÇ´Â ¾îµð±îÁö³ª ÄÄÆÄÀÏ·¯°¡ ±âº»ÀûÀ¸·Î Á¦°øÇϴ ŸÀÔ¿¡ ´ëÇØ¼­¸¸ Àû¿ëµÇ¸ç »ç¿ëÀÚ°¡ Á÷Á¢ Á¤ÀÇÇϴ ŸÀÔÀΠŬ·¡½º¿¡ ´ëÇØ¼­´Â ÀÌ·± ±ÔÄ¢ÀÌ Àû¿ëµÇÁö ¾Ê´Â´Ù. ´ÙÀ½ ¿¹Á¦´Â º¹¼Ò¼ö¸¦ Ç¥ÇöÇÏ´Â Complex Ŭ·¡½ºÀÇ °´Ã¼³¢¸® + ¿¬»êÀÚ·Î ´õÇÑ´Ù.

 

¿¹ Á¦ : ComplexAdd

#include <Turboc.h>

 

class Complex

{

private:

     double real;

     double image;

 

public:

     Complex() { }

     Complex(double r, double i) : real(r), image(i) { }

     void OutComplex() const { printf("%.2f+%.2fi\n",real,image); }

};

 

void main()

{

     Complex C1(1.1,2.2);

     Complex C2(3.3,4.4);

     C1.OutComplex();

     C2.OutComplex();

 

     Complex C3;

     C3=C1+C2;

     C3.OutComplex();

}

 

ÀÌ »óÅ·ΠÄÄÆÄÀÏÇØ º¸¸é C3=C1+C2; ¿¬»ê¹®¿¡¼­ "Complex Ŭ·¡½º´Â + ¿¬»êÀ» Á¤ÀÇÇÏÁö ¾Ê¾Ò´Ù"´Â ¿¡·¯°¡ ¹ß»ýÇÑ´Ù. C++Àº ¾ð¾î Â÷¿ø¿¡¼­ º¹¼Ò¼ö¸¦ Áö¿øÇÏÁö ¾Ê±â ¶§¹®¿¡ Complex°¡ ¾î¶² ŸÀÔÀÎÁö ¾ËÁö ¸øÇÏ¸ç µû¶ó¼­ µÎ °´Ã¼¸¦ ¾î¶»°Ô ´õÇØ¾ß ÇÏ´ÂÁöµµ ¸ð¸£´Â °ÍÀÌ´Ù. º¹¼Ò¼ö³¢¸® ´õÇÏ´Â ¹æ¹ýÀ» ¸ð¸£´Ï + ¿¬»êÀ» ó¸®ÇÒ ¼ö°¡ ¾ø´Ù. »ç¿ëÀÚ Á¤ÀÇ Å¸ÀÔÀΠŬ·¡½ºÀÇ °´Ã¼³¢¸® ´õÇÏ´Â ¹æ¹ýÀº Ŭ·¡½ºº°·Î °íÀ¯Çϱ⠶§¹®¿¡ Ŭ·¡½º¸¦ ¸¸µç »ç¶÷ÀÌ µ¡¼À ¿¬»êÀ» Á÷Á¢ Á¤ÀÇÇÒ Çʿ䰡 ÀÖ´Ù.

C3=C1+C2; ¿¬»ê¹®ÀÌ Á¦´ë·Î ÄÄÆÄÀϵǷÁ¸é º¹¼Ò¼ö¿¡ ´ëÇÑ µ¡¼À ¿¬»êÀÚ¸¦ Áߺ¹ Á¤ÀÇÇØ¾ß ÇÑ´Ù. °íµî ¼öÇÐÀ» ¹è¿î »ç¶÷À̶ó¸é º¹¼Ò¼ö³¢¸® ´õÇÒ ¶§ ½Ç¼öºÎ´Â ½Ç¼öºÎ³¢¸® Çã¼öºÎ´Â Çã¼öºÎ³¢¸® ´õÇÑ´Ù´Â °ÍÀ» Àß ¾Ë°í ÀÖ°ÚÁö¸¸ ÄÄÆÄÀÏ·¯´Â ÀÌ·± ¹æ¹ýÀ» ¸ð¸£´Â °ÍÀÌ´Ù. µû¶ó¼­ ¶È¶ÈÇÑ °³¹ßÀÚ°¡ ¸ÛûÇÑ ÄÄÆÄÀÏ·¯¿¡°Ô º¹¼Ò¼ö³¢¸® ´õÇÏ´Â ¹æ¹ýÀ» ¾Ë·Á Áà¾ß Çϴµ¥ À̰ÍÀ» ¿¬»êÀÚ ¿À¹ö·ÎµùÀ̶ó°í ÇÑ´Ù. »õ·Î ¸¸µé¾îÁö´Â + ¿¬»êÀÚ´Â ¾Æ¸¶µµ ´ÙÀ½°ú °°Àº ¿øÇüÀ» °¡Áú °ÍÀÌ´Ù.

 

Complex +(Complex, Complex);

 

µÎ °³ÀÇ Complex °´Ã¼¸¦ Àμö·Î ÃëÇÏ°í ±× ÇÕÀ» ±¸ÇØ ComplexÇüÀ¸·Î ¸®ÅÏÇÑ´Ù. Á¤¼ö³¢¸® ´õÇÒ ¶§³ª ½Ç¼ö³¢¸® ´õÇÒ ¶§ »ç¿ëÇÏ´Â ¶È°°Àº + ¿¬»êÀÚ·Î º¹¼Ò¼ö³¢¸®µµ µ¡¼ÀÀ» ÇÒ ¼ö ÀÖµµ·Ï Áߺ¹ Á¤ÀÇÇÏ´Â °ÍÀÌ ¹Ù·Î ¿¬»êÀÚ ¿À¹ö·ÎµùÀÌ´Ù. °íÁ¤µÈ ŸÀÔ¸¸ Á¦°øµÇ´Â C¿¡¼­´Â ÀÌ·± ±â´ÉÀÌ ±×´ÙÁö ÇÊ¿äÇÏÁö ¾Ê¾Ò¾ú´Ù. ±×·¯³ª C++Àº »ç¿ëÀÚ°¡ ŸÀÔÀ» Á¤ÀÇÇÒ ¼ö ÀÖ°Ô µÇ¾ú°í »ç¿ëÀÚ°¡ ¸¸µç ŸÀÔµµ ±âº» ŸÀÔ°ú ¶È°°Àº ÀÚ°ÝÀ» ÁÖ±â À§ÇØ ¿¬»ê ¹æ¹ýÀ» Á¤ÀÇÇÒ Çʿ䰡 »ý°å´Ù. ±×·¡¾ß »ç¿ëÀÚ°¡ Á¤ÀÇÇÑ Å¸ÀÔÀÌ ÄÄÆÄÀÏ·¯°¡ Á¦°øÇÏ´Â ±âº» ŸÀÔ°ú ´ëµîÇÑ ÀÚ°ÝÀ» °¡Áö¸ç ÀϰüµÈ ¹æ¹ýÀ¸·Î »ç¿ëÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù.

Ŭ·¡½º°¡ ¿ÏÀüÇÑ Å¸ÀÔÀÌ µÇ·Á¸é int°¡ ÇÒ ¼ö ÀÖ´Â ¸ðµç ÀÏÀ» ÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ÀÌ ÀýÀÇ ÁÖÁ¦°¡ ¹Ù·Î °´Ã¼ÀÇ ¿¬»ê ¹æ¹ýÀ» Á¤ÀÇÇÏ´Â °ÍÀÌ¸ç ´õ Á÷°üÀûÀ¸·Î ¾ê±â ÇÏÀÚ¸é ÀÓÀÇÀÇ °´Ã¼¿¡ ´ëÇØ A=B+C; °¡ °¡´ÉÇϵµ·Ï ÇÏ´Â °ÍÀÌ´Ù. ¹°·Ð + »Ó¸¸ ¾Æ´Ï¶ó *³ª ==, % µî ´ëºÎºÐÀÇ ¿¬»êÀÚµµ ¿À¹ö·ÎµùÇÒ ¼ö ÀÖ´Ù. °³³äÀº ¹«Ã´À̳ª °£´ÜÇÏÁö¸¸ º¹ÀâÇÑ ±ÔÄ¢ÀÌ Á¸ÀçÇÏ¸ç ¶ÇÇÑ ¸¹Àº ÇÔÁ¤µéÀÌ µµ»ç¸®°í ÀÖ´Ù.