[C++]2ºÎ°­ÁÂ(37)<--¿¬»êÀÚ ¿À¹ö·Îµù(¸â¹ö ¿¬»êÀÚ ÇÔ¼ö)




³ª. ¸â¹ö ¿¬»êÀÚ ÇÔ¼ö

½Ã°£À» ³ªÅ¸³»±â À§Çؼ­ ½Ã, ºÐ, ÃÊÀÇ µ¥ÀÌÅÍ ¸â¹ö¿Í ½Ã°£À» ¸ÂÃß°í, Ãâ·ÂÇÏ
´Â ¸â¹ö ÇÔ¼ö¸¦ °¡Áø Time Ŭ·¡½º¸¦ ¸¸µç´Ù°í ÇÏÀÚ. À̶§ Ŭ·¡½ºÀÇ ¸ð¾çÀº ´Ù
À½°ú °°ÀÌ µÉ °ÍÀÌ´Ù.

class Time {
protected:
 int hour,min,sec;     // ½Ã°£À» ±â¾ïÇÏ´Â µ¥ÀÌÅÍ ¸â¹ö
public:
 void settime(int h,int m,int s) {   // ½Ã°£À» ¼³Á¤ÇÏ´Â ÇÔ¼ö
   hour=h;
   min=m;
   sec=s;
   }
 void outtime();                // ½Ã°£À» Ãâ·ÂÇÏ´Â ÇÔ¼ö
 };

½Ã, ºÐ, Ãʸ¦ ±â¾ïÇÒ ¼ö ÀÖ´Â Á¤¼öÇü º¯¼ö hour, min, sec µîÀ» ¸¸µé°í ½Ã°£
À» Á¤ÀÇÇÏ´Â settime ¸â¹ö ÇÔ¼ö¿Í, ½Ã°£À»  È­¸éÀ¸·Î Ãâ·ÂÇÏ´Â outtime ¸â¹ö
ÇÔ¼ö°¡ Ŭ·¡½º ³»ºÎ¿¡ ¼±¾ðµÇ¾î ÀÖ´Ù. Time Ŭ·¡½º´Â »ç¿ëÀÚ°¡ Á÷Á¢ ¸¸µç µ¥ÀÌ
ÅÍ Å¸ÀÔÀ̹ǷΠTimeÇüÀÇ °´Ã¼¸¦ ÇÇ¿¬»êÀÚ·Î ÃëÇÏ´Â ¿¬»êÀ» ¾µ ¼ö ¾ø´Ù.
±×·¡¼­ ¿©±â¿¡ µÎ °³ÀÇ Time °´Ã¼¸¦ ´õÇÒ ¼ö ÀÖ´Â ÇÔ¼ö addTimeÀ» Ãß°¡·Î ´õ
Á¤ÀÇÇÏ°í addTime ÇÔ¼ö¸¦ »ç¿ëÇØ µÎ °³ÀÇ ½Ã°£À» ´õÇغ¸ÀÚ. ½Ã°£³¢¸® ´õÇÑ´Ù´Â
°ÍÀº ´Ü¼øÇÑ »ê¼ú¿¬»êÀÇ µ¡¼À°ú´Â ¸¹ÀÌ ´Ù¸£´Ù. ½Ã°£ÀÌ ½Ã, ºÐ, ÃÊ ¼¼ °³ÀÇ ¿ä
¼Ò·Î ±¸¼ºµÇ¾î ÀÖÀ» »Ó¸¸ ¾Æ´Ï¶ó ºÐ°ú ÃÊ´Â 60Áø¹ýÀ» »ç¿ëÇÏ°í ½Ã´Â 12Áø¹ýÀ»
»ç¿ëÇϱ⠶§¹®¿¡ °¢°¢ÀÇ ÀÚ¸®¼ö¸¦ °³º°ÀûÀ¸·Î ´õÇÏ°í ÀÚ¸®³ÑħÀÌ ¹ß»ýÇߴ°¡µµ
°³º°ÀûÀ¸·Î checkÇØ¾ß ÇÑ´Ù. ´ÙÀ½¿¡ addTimeÀ» »ç¿ëÇÑ ¿¹Á¦¸¦ º¸¿´´Ù.

#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 addTime(Time);
};
Time Time::addTime(Time T)   // ½Ã°£À» ´õÇÏ´Â ÇÔ¼ö
{
sec +=T.sec;               // Ãʸ¦ ´õÇÑ´Ù.
min +=T.min;1              // ºÐÀ» ´õÇÑ´Ù.
hour+=T.hour;              // ½Ã¸¦ ´õÇÑ´Ù.
if (sec>60) {              // ÃÊ¿¡¼­ ÀÚ¸®³ÑħÀÌ ¹ß»ýÇϸé
 min++;                   // ºÐÀ» 1 Áõ°¡½ÃŲ´Ù.
 sec-=60;
 }
if (min>60) {              // ºÐ¿¡¼­ ÀÚ¸®³ÑħÀÌ ¹ß»ýÇϸé
 hour++;                  // ½Ã¸¦ 1 Áõ°¡½ÃŲ´Ù.
 min-=60;
 }
hour %= 12;
return (*this);            // µ¡¼ÀÇÑ °´Ã¼¸¦ ¸®ÅÏÇÑ´Ù.
}
void Time::outtime(void)
{
cout << endl << "time is " << hour << " hour " << min<<  "
minute " << sec << " second." << endl;
}
void main()
{
Time a,b;
a.settime(2,12,23);
b.settime(11,10,40);
a=a.addTime(b);       // °´Ã¼³¢¸® ´õÇÏ´Â ¿¬»êÀ» ÇÑ´Ù.
a.outtime();
}

main ÇÔ¼ö¿¡¼­ TimeÇüÀÇ °´Ã¼ a¿Í b¸¦ ¼±¾ðÇÏ°í a´Â 2:12:23ÃÊ·Î b´Â 11:10:4
0ÃÊ·Î °¢°¢ Á¤ÀÇÇÏ¿´´Ù. ±×¸®°í a=a.addTime(b)¿¡ ÀÇÇØ a °´Ã¼°¡ °¡Áø ½Ã°£¿¡
b °´Ã¼°¡ °¡Áø ½Ã°£À» ´õÇÑ ½Ã°£À¸·Î a °´Ã¼¸¦ ´Ù½Ã Á¤ÀÇÇÏ¿´´Ù. »ç½Ç ½Ã°£³¢
¸® µ¡¼ÀÀ» ÇÑ´Ù´Â °ÍÀº ¹«ÀǹÌÇÏÁö¸¸ 2:12:23°ú 11:10:40Ãʸ¦ ²À ´õÇÏ°íÀÚ ÇÏ
¸é 1:23:03ÃÊ°¡ µÈ´Ù. Time Ŭ·¡½ºÀÇ ¸â¹ö ÇÔ¼öÀÎ addTimeÀ» ºÐ¼®Çغ¸ÀÚ.
addTimeÀº TimeÇüÀÇ °´Ã¼ T¸¦ Àμö·Î ¹Þ¾Æ ÀÚ½ÅÀ» È£ÃâÇÑ °´Ã¼°¡ °¡Áø ½Ã°£¿¡
T°¡ °¡Áø ½Ã°£À» ´õÇÑ´Ù. a=a.addTime(b)¿¡¼­ addTime ÇÔ¼ö¸¦ È£ÃâÇÏ´Â °´Ã¼´Â
a °´Ã¼À̸ç Àμö·Î ³Ñ¾î°¡´Â °´Ã¼´Â b °´Ã¼ÀÌ´Ù. addTime ÇÔ¼ö ³»ÀÇ sec += T.
sec ¿¬»êÀº addTimeÀ» È£ÃâÇÑ °´Ã¼, Áï a °´Ã¼ÀÇ µ¥ÀÌÅÍ ¸â¹öÀÎ sec¿¡ Àμö·Î
³Ñ¾î¿Â °´Ã¼, Áï b °´Ã¼ÀÇ µ¥ÀÌÅÍ ¸â¹öÀÎ secÀ» ´õÇÏ´Â µ¿ÀÛÀ» ÇÑ´Ù.

              ¿ìº¯À» Áº¯¿¡ ´õÇÑ´Ù.     
          sec += T.sec
         ¦¡¦¡    ¦¡¦¡¦¡
addTime ÇÔ¼ö¸¦    Àμö·Î Àü´ÞµÈ °´Ã¼ÀÇ µ¥ÀÌÅÍ ¸â¹ö
È£ÃâÇÑ °´Ã¼ÀÇ     sec
µ¥ÀÌÅÍ ¸â¹ö sec

Ãʳ¢¸® µ¡¼ÀÀ» ÇÑ ÈÄ¿¡´Â ºÐ³¢¸® µ¡¼ÀÀ» ÇÏ°í ºÐÀ» ´õÇÑ ÈÄ¿¡´Â ½Ã³¢¸® µ¡¼À
À» ÇÏ°í ¸¶Áö¸·À¸·Î ÀÚ¸®³ÑħÀ» Á¡°ËÇÑ´Ù. ½Ã°£³¢¸®ÀÇ µ¡¼ÀÀÌ ³¡³­ ÈÄ¿¡´Â add
Time ÇÔ¼ö¸¦ È£ÃâÇÑ °´Ã¼¸¦ ¸®ÅÏÇØÁÜÀ¸·Î½á ´ëÀÔ¹®¿¡ »ç¿ëµÉ ¼ö ÀÖµµ·Ï ÇÑ´Ù.
this¶õ ¸â¹ö ÇÔ¼ö ³»¿¡¼­ ¸â¹ö ÇÔ¼ö¸¦ È£ÃâÇÑ °´Ã¼ÀÇ ¹øÁö°ªÀ» °¡Áö¹Ç·Î *this
´Â °ð ¸â¹ö ÇÔ¼ö¸¦ È£ÃâÇÑ °´Ã¼°¡ µÈ´Ù.
°è»ê °á°úÀÎ °´Ã¼¸¦ ¸®ÅÏÇØÁÜÀ¸·Î½á a=a.addTime(b)¶ó´Â ´ëÀÔ½ÄÀÌ °¡´ÉÇØÁö¸ç
¶Ç´Â Á¦ »ïÀÇ °´Ã¼¿¡ µ¡¼À °á°ú¸¦ ¹Ù·Î ´ëÀÔÇÒ ¼ö ÀÖ´Â c=a.addTime(b) µûÀ§ÀÇ
¿¬»êµµ °¡´ÉÇÏ´Ù.
½Ã°£³¢¸®ÀÇ µ¡¼ÀÀÌ »ê¼úÀûÀÎ µ¡¼À°ú ´Ù¸£±â ¶§¹®¿¡ ÀÌ·± ½ÄÀ¸·Î º°µµÀÇ ¸â¹ö
ÇÔ¼ö¸¦ Á¤ÀÇÇØ µÎ°í ½Ã°£³¢¸® µ¡¼ÀÀÌ ÇÊ¿äÇҽà °´Ã¼¿¡¼­ µ¡¼ÀÀ» ÇØÁÖ´Â ¸â¹ö
ÇÔ¼ö¸¦ È£ÃâÇÏ¿© »ç¿ëÇÑ´Ù.
±×·±µ¥ a=a.addTime(b)¶ó´Â Ç¥Çöº¸´Ù´Â a=a+b;¶ó´Â Çü½ÄÀ¸·Î ¸¶Ä¡ »ê¼úÀûÀ¸·Î
Ç¥ÇöÇÏ´Â °ÍÀÌ ´õ °£´Ü ¸í·áÇغ¸ÀδÙ. »ê¼úÀûÀÎ µ¡¼ÀÀ» ÇÏ´Â + ¿¬»êÀÚ¿Í ½Ã°£
³¢¸® µ¡¼ÀÀ» ÇÏ´Â + ¿¬»êÀÚ°¡ ºÐ¸íÈ÷ ¸ð¾ç¸¸ °°°í ³»ºÎÀûÀÎ µ¿ÀÛÀÌ ´Ù¸£Áö¸¸ a
¿Í b°¡ ´Ù Time °´Ã¼À̹ǷΠa+b´Â Time °´Ã¼³¢¸®ÀÇ µ¡¼ÀÀÓÀ» ÄÄÆÄÀÏ·¯°¡ ½±°Ô
±¸ºÐÇس¾ ¼ö ÀÖ´Ù. ±×·¡¼­ + ¿¬»êÀÚ°¡ TimeÇüÀÇ °´Ã¼¿Í ÇÔ²² ¾²ÀÏ ¶§´Â »ê¼ú
¿¬»ê°ú´Â ´Ù¸¥ º°µµÀÇ Ã³¸®¸¦ ÇÒ ¼ö ÀÖµµ·Ï Á¤ÀÇÇغ¸±â·Î ÇÑ´Ù.

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


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

    

 ´ÙÀ½