[C++]2ºÎ°­ÁÂ(41)<--¿¬»êÀÚ ¿À¹ö·Îµù ±ÔÄ¢





#include <stdio.h>
#include <iostream.h>
class Time {
protected:
 int hour,min,sec;
public:
 void settime(int h,int m,int s) {
   hour=h;
   min=m;
   sec=s;
   return;
   }
 void outtime();
 Time operator +(int);                  // ¸â¹ö ¿¬»êÀÚ ÇÔ¼ö +
 friend Time operator+(int i,Time N);   // friend  ¿¬»êÀÚ ÇÔ¼ö +
 };
Time Time::operator +(int i)    // ¸â¹ö  ¿¬»êÀÚ  ÇÔ¼ö  Á¤ÀÇ
{
// TimeÇüÀÇ °´Ã¼¿Í Á¤¼ö¸¦ ´õÇÑ´Ù.
sec +=i;
while (sec>60) {
 min++;
 sec-=60;
 }
while (min>60) {
 hour++;
 min-=60;
 }
hour %= 12;
return (*this);
}
void Time::outtime(void)
{
cout << endl << "time is " << hour << " hour " << min<<  "
minute " << sec << " second." << endl;
}
Time operator+(int i,Time N)    // friend ¿¬»êÀÚ ÇÔ¼ö +
{
return N+i;                   // ¼ø¼­¸¦ ¹Ù²Ù¾îÁØ´Ù.
}             
void main()
{
Time a;
a.settime(2,12,23);    // °´Ã¼ÀÇ ÃʱâÈ­
a.outtime();           // °´Ã¼¸¦ Ãâ·Â
a=a+88;                // °´Ã¼¿¡ Á¤¼ö 88À» ´õÇÑ´Ù.  
a.outtime();
a=88+a;                // 88°ú °´Ã¼¸¦ ´õÇصµ µÈ´Ù.
a.outtime();
}

½ÇÇà °á°ú´Â ´ÙÀ½°ú °°´Ù.

time is 2 hour 12 minute 23 second.
time is 2 hour 13 minute 51 second.
time is 2 hour 15 minute 19 second.

ù¹ø° Ãâ·ÂÀº a °´Ã¼°¡ ÃÖÃÊ¿¡ ÃʱâÈ­µÈ ½Ã°£ÀÌ¸ç µÎ ¹ø° Ãâ·ÂÀº a °´Ã¼¿¡
Á¤¼ö 88À» ´õÇÑ °ÍÀÌ´Ù. ¼¼ ¹ø° Ãâ·ÂµÈ °á°ú´Â Á¤¼ö 88°ú °´Ã¼ a¸¦ ´õÇÑ °ÍÀÌ
´Ù. ´õÇÏ´Â ¼ø¼­¿¡ »ó°ü¾øÀÌ + ¿¬»êÀÚ°¡ Á¦´ë·Î µ¿ÀÛÇÏ°í ÀÖ´Ù. ÀÌ ¿¹Á¦¿¡¼­´Â
µÎ °³ÀÇ ¿¬»êÀÚ ÇÔ¼ö¸¦ ¼±¾ðÇÏ°í ÀÖ´Ù. Çϳª´Â ¾Õ¿¡¼­ º» °Í°ú ¶È°°Àº Time Ŭ
·¡½º¿¡ ¼ÓÇÑ ¸â¹ö ÇÔ¼öÀÌ°í Çϳª´Â µÎ °³ÀÇ Àμö¸¦ ÃëÇÏ´Â friend ÇÔ¼ö·Î Á¤ÀÇ
µÇ¾î ÀÖ´Ù.
ÀÌ·¸°Ô Á¤ÀÇµÈ friend ÇÔ¼ö°¡ ÇÏ´Â ÀÏÀº Á¤¼öÇü Àμö i¿Í TimeÇü Àμö NÀ» ¹Þ
¾Æ ÀÌ Àμö¸¦ »ç¿ëÇØ ¸â¹ö ÇÔ¼ö·Î Á¤ÀÇµÈ ¿¬»êÀÚ ÇÔ¼ö¸¦ È£ÃâÇØÁÖ´Â °Í »ÓÀÌ´Ù.
friend ÇÔ¼öÀÇ º»Ã¼´Â return N+i; ¶ó´Â ¾ÆÁÖ °£´ÜÇÑ ¿¬»ê¹®¸¸ ÀÖ´Ù. Àμö´Â i
¿Í NÀÇ ¼ø¼­·Î ¹Þ¾ÆµéÀÌµÇ ¿¬»ê½ÄÀº N+i¸¦ »ç¿ëÇÑ´Ù. N+i ¿¬»ê½ÄÀÇ Ã¹¹ø° ÇÇ
¿¬»êÀÚ°¡ TimeÇüÀÇ °´Ã¼À̹ǷΠÀÌ ¿¬»ê¹® ½ÇÇà °úÁ¤¿¡¼­ Time Ŭ·¡½ºÀÇ ¸â¹ö
ÇÔ¼öÀÎ + ¿¬»êÀÚ°¡ È£ÃâµÇ¸ç ½ÇÁ¦ ¿¬»êÀ» ÇÏ´Â ÁÖü´Â ¸â¹ö ¿¬»êÀÚ ÇÔ¼ö·Î Á¤
ÀÇµÈ + ¿¬»êÀÚÀÌ´Ù.
friend ÇÔ¼ö·Î Á¤ÀÇµÈ + ¿¬»êÀÚ´Â Àμö¸¦ ¹Þ¾ÆµéÀÌ´Â ¼ø¼­¸¸ ¹Ù²Ù¾î ÁÙ »ÓÀÌ
´Ù. ÀÌ·¸°Ô µÇ¸é a=a+88;µµ °¡´ÉÇϸç a=88+a;µµ °¡´ÉÇØÁø´Ù. a=a+88Àº °ð¹Ù·Î
a °´Ã¼ÀÇ ¸â¹ö ¿¬»êÀÚ ÇÔ¼ö¸¦ È£ÃâÇÏ¿© ¿¬»êÀ» ÇÒ °ÍÀÌ°í a=88+a´Â friend ÇÔ
¼ö¸¦ ÇÑ ´Ü°è °ÅÃÄ ¸â¹ö ¿¬»êÀÚ ÇÔ¼ö¿¡ ÀÇÇØ ¿¬»êÀÌ ¼öÇàµÉ °ÍÀÌ´Ù. ÀÌ·¸°Ô ÇÏ
´Â ¹æ¹ý ¿Ü¿¡µµ ¾Æ¿¹ óÀ½ºÎÅÍ ¿¬»êÀÚ ÇÔ¼ö¸¦ friend ÇÔ¼ö·Î ´ÙÁß Á¤ÀÇÇصµ »ó
°ü¾ø´Ù.

friend operator +(Time T,int n);
friend operator +(int n,Time T);

µÎ °³ÀÇ ¶È°°Àº À̸§À» °¡Áø ÇÔ¼ö¸¦ Á¤ÀÇÇÏ¿´Áö¸¸ ÀμöÀÇ ÇüÀÌ ´Ù¸£¹Ç·Î ¿¬»ê
½ÄÀÇ ÇÇ¿¬»êÀÚ ¼ø¼­¿¡ ÀÇÇØ ¾î¶² ¿¬»êÀÚ¸¦ È£ÃâÇÒ °ÍÀΰ¡°¡ ±¸ºÐµÈ´Ù. ¿¬»êÀÚ
¿À¹ö·Îµù ±â¹ýÀº ´ÙÇü¼º¿¡ ±× ±Ù°Å¸¦ µÎ°í ÀÖ´Ù. ù¹ø° ÇÇ¿¬»êÀÚ°¡ Á¤¼öÀÎ °æ
¿ì¿Í TimeÇüÀÇ °´Ã¼ÀÎ °æ¿ì¸¦ ´Ù Á¤ÀÇÇØÁÖ¾úÀ¸¹Ç·Î ¼ø¼­¿¡ »ó°ü¾øÀÌ + ¿¬»êÀÚ
¸¦ »ç¿ëÇÏ¸é µÈ´Ù.


********************************************************
********************************************************
4-3 ¿¬»êÀÚ ¿À¹ö·Îµù ±ÔÄ¢

Ŭ·¡½ºÀÇ Æ¯¼º¿¡ ¸Â°Ô ¿¬»êÀÚ¸¦ ÀçÁ¤ÀÇÇÏ¿© ¾²´Â °ÍÀÌ °¡´ÉÇϱâ´Â Çصµ ¸ðµç
¿¬»êÀÚ¿¡ ´ëÇØ ¾Æ¹«·¸°Ô³ª ÀçÁ¤ÀÇÇÒ ¼ö ÀÖ´Â °ÍÀº ¾Æ´Ï´Ù. ¿¬»êÀÚ¸¦ ÀçÁ¤ÀÇÇÏ
´Â µ¥µµ ¸î °¡Áö ±ÔÄ¢°ú Á¦¾àÀÌ µû¸¥´Ù. ¾îÂî º¸¸é ´ç¿¬ÇÑ ±ÔÄ¢µéÀÌ°í ¾îÂ
¸é ¿¬»êÀÚ ¿À¹ö·Îµù¿¡ µû¸¥ ºÎÀÛ¿ëÀ» ÇØ°áÇϱâ À§ÇÑ ¹æÆíµéÀ̶ó ÇÒ ¼ö ÀÖ´Ù.

ù°, ¿ø·¡ C++¿¡¼­ Á¦°øÇÏ´Â ¿¬»êÀÚÀÇ ±â´ÉÀ» ¹Ù²Ü ¼ö ÀÖÀ» »Ó C++¿¡¼­ Á¦°ø
ÇÏÁö ¾Ê´Â ¿¬»êÀÚ¸¦ ÀÓÀÇ·Î ¸¸µé¾î ¾µ ¼ö´Â ¾ø´Ù. C++¿¡¼­ Á¦°øÇÏÁö ¾Ê´Â **³ª
<- µîÀÇ ¿¬»êÀÚ¸¦ ¸¸µé¾î ¾µ ¼ö´Â ¾ø´Ù´Â ¾ê±âÀÌ´Ù. ¸¸¾à ´©½ÂÀ» ÇÏ´Â ¿¬»êÀÚ
¸¦ »ç¿ëÀÚ°¡ ±»ÀÌ ** ¿¬»êÀÚ·Î ¸¸µé°íÀÚ Çϸç C++ÀÌ ÀÌ°ÍÀ» Çã¿ëÇÑ´Ù°í Çغ¸ÀÚ.
c=a**b;¶ó´Â ¿¬»ê½ÄÀÌ ÀÖÀ» ¶§ C++ÀÌ ÀÌ ½ÄÀ» Çؼ®ÇÏ´Â ¹æ½Ä¿¡ µÎ °¡Áö ¸ðÈ£ÇÑ
»óȲÀÌ ¹ß»ýÇÏ°Ô µÈ´Ù. ÀÌ ½ÄÀ» °ú¿¬ a¸¦ b¸¸Å­ ´©½ÂÇ϶ó´Â ½ÄÀ¸·Î Çؼ®ÇÒ °Í
ÀÎÁö ¾Æ´Ï¸é a¿Í Æ÷ÀÎÅÍ º¯¼ö b°¡ °¡¸®Å°´Â ¹øÁö¿¡ µç °ª(*b)À» °öÇ϶ó( a*(*b
) )´Â °ÍÀÎÁö ¾Ë¾Æ³¾ ¼ö°¡ ¾ø´Ù.

Âü°í:
´©½ÂÀ̶õ 2ÀÇ 5½Â µûÀ§ÀÇ °Åµì Á¦°ö½ÄÀ» ¸»Çϴµ¥ C++¿¡¼­´Â(Cµµ ¸¶Âù°¡Áö´Ù)
º°µµÀÇ ¿¬»êÀÚ¸¦ Á¦°øÇÏÁö ¾Ê°í pow¶ó´Â ¼öÇÐ ÇÔ¼ö·Î Á¦°øÇÑ´Ù. BASIC¿¡´Â ´©
½Â ¿¬»êÀÚ(^)°¡ º°µµ·Î ÁغñµÇ¾î ÀÖ´Ù.

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


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

    

 ´ÙÀ½