[C++]2ºÎ°­ÁÂ(43)<--¹®ÀÚ¿­ ¿¬°á ¿¬»êÀÚ





> ¿¬»êÀÚ´Â ÀÌ ¿¬»êÀÚ¸¦ È£ÃâÇÑ TimeÇüÀÇ °´Ã¼(¿¬»êÀÚÀÇ Áº¯)°¡ Àμö·Î ÁÖ¾î
Áø °´Ã¼(¿¬»êÀÚÀÇ ¿ìº¯)º¸´Ù Å«Áö¸¦ Æò°¡ÇÑ´Ù. ¸ÕÀú µÎ °´Ã¼ÀÇ ½Ã°£(hour data
member)À» ºñ±³ÇÏ¿© Áº¯ °´Ã¼ÀÇ ½Ã°£ÀÌ ´õ Å©¸é ´õ ÀÌ»ó º¼ °Íµµ ¾øÀÌ Áº¯ÀÌ
Å©´Ù°í ÆÇ´ÜÇÏ°í Âü(1)À» ¸®ÅÏÇÑ´Ù. hour°¡ ´õ Å©¸é minÀ̳ª sec´Â ´õ º¼ °Íµµ
¾ø´Ù. Å©Áö ¾ÊÀ¸¸é ´Ù½Ã Á¶°Ç ÆÇ´ÜÀ» ÇÏ¿© Áº¯ °´Ã¼ÀÇ ½Ã°£ÀÌ ¿ìº¯ °´Ã¼ÀÇ ½Ã
°£º¸´Ù ´õ ÀÛÀº °æ¿ì¸¦ °Ë»çÇÏ¿© ÀÌ Á¶°ÇÀÌ ¸¸Á·ÇÏ¸é °ÅÁþ(0)À» ¸®ÅÏÇÑ´Ù.
¾ÕÀÇ µÎ Á¶°ÇÀÌ ´Ù °ÅÁþÀ̶ó¸é, Áï µÎ °´Ã¼ÀÇ ½Ã°£ÀÌ ¼­·Î Å©Áöµµ ÀÛÁöµµ ¾Ê
°í °°´Ù¸é ½Ã°£À¸·Î´Â ´ë¼Ò ÆÇ´ÜÀ» ÇÒ ¼ö ¾øÀ¸¹Ç·Î ºÐÀ» ºñ±³Çغ»´Ù. ºÐÀ» ºñ
±³ÇÏ´Â ¹æ¹ýÀº ½Ã°£À» ºñ±³ÇÏ´Â ¹æ¹ý°ú µ¿ÀÏÇÏ¸ç ¸¸¾à ºÐ±îÁöµµ °°´Ù¸é ¸¶Áö¸·
À¸·Î Ãʸ¦ ºñ±³Çغ»´Ù. Áº¯ °´Ã¼ÀÇ ÃÊ°¡ ¿ìº¯ °´Ã¼ÀÇ Ãʺ¸´Ù ´õ Å©¸é Âü(1)À»
¸®ÅÏÇÏ°í ±× ³ª¸ÓÁöÀÇ °æ¿ì´Â ¿ìº¯ °´Ã¼ÀÇ ÃÊ°¡ °°°Å³ª ÀÛÀº °æ¿ì, Áï ¾î·µç
Å©Áö´Â ¾ÊÀ¸¹Ç·Î ´õ ÀÌ»óÀÇ Á¶°ÇÀ» ÆÇ´ÜÇÏÁö ¾Ê°í °ÅÁþ(0)À» ¸®ÅÏÇÑ´Ù.
== ¿¬»êÀÚ´Â Å©±â¸¦ ºñ±³ÇÏ´Â ¿¬»êÀÚº¸´Ùµµ ÈξÀ ´õ °£´ÜÇÏ´Ù. ½Ã°£À» ³ªÅ¸³»
´Â µÎ °´Ã¼°¡ °°Àº ½Ã°£À» ³ªÅ¸³»±â À§Çؼ­´Â µÎ °´Ã¼ÀÇ ½Ã, ºÐ, ÃÊ°¡ ¿ÏÀüÈ÷
ÀÏÄ¡ÇØ¾ß ÇϹǷΠ¼¼ °³ÀÇ Á¶°ÇÀ» &&·Î ¿¬°áÇÏ¿© ¼¼ Á¶°ÇÀÌ ´Ù ¸¸Á·ÇÒ ¶§¸¸ Âü(
1)À» ¸®ÅÏÇÏ°í ±× ¿ÜÀÇ °æ¿ì´Â °ÅÁþÀ» ¸®ÅÏÇÑ´Ù.
> ¿¬»êÀÚ¿Í == ¿¬»êÀÚ ¿Ü¿¡µµ ´Ù¸¥ °ü°è ¿¬»êÀÚµµ ¿À¹ö·ÎµùµÇ¾î ÀÖ±â´Â ÇÏÁö
¸¸ ½ÇÁ¦ÀÇ Äڵ尡 ÀÛ¼ºµÇ¾î ÀÖÁö´Â ¾Ê´Ù. °ü°è ¿¬»êÀÚ´Â »óÈ£ ³í¸®ÀûÀÎ ´ëü¼º
ÀÌ Àֱ⠶§¹®¿¡ > ¿¬»êÀÚ¿Í == ¿¬»êÀÚÀÇ Äڵ常 ÀÛ¼ºÇØ ³õÀ¸¸é ´Ù¸¥ ¿¬»êÀÚ´Â
ÀÌ µÎ ¿¬»êÀÚ¸¦ È£ÃâÇÏ¿© ±× °á°ú·ÎºÎÅÍ ³í¸® ¿¬»ê¿¡ ÀÇÇØ °ü°è ¿¬»êÀÇ °á°ú¸¦
µµÃâÇس¾ ¼ö ÀÖ´Ù. °¡Àå ½¬¿î ¿¹·Î != ¿¬»êÀÚ´Â == ¿¬»êÀÚÀÇ ¿ª°ªÀ» ÃëÇϱ⸸
ÇÏ¸é µÇ°í <= ¿¬»êÀÚ´Â > ¿¬»êÀÚÀÇ ¿ª°ªÀ» ÃëÇؼ­ µ¹·Á Áֱ⸸ ÇÏ¸é µÈ´Ù.
³ª¸ÓÁö ¿¬»êÀڵ鵵 ³í¸®ÀûÀ¸·Î == ¿¬»êÀÚ¿Í > ¿¬»êÀÚ¸¦ Àß ÀÌ¿ëÇϱ⸸ Çϸé
º°µµÀÇ Äڵ带 ¸¸µé ÇÊ¿ä°¡ ¾ø´Ù. ¾î¶»°Ô Àß ÀÌ¿ëÇÏ°í ÀÖ´ÂÁö´Â Á÷Á¢ ¼Ò½º¸¦
º¸±â ¹Ù¶õ´Ù. == , > ÀÌ¿ÜÀÇ ¿¬»êÀÚ´Â ³»ºÎ¿¡¼­ Á÷Á¢ ºñ±³ÇÏÁö ¾Ê°í ´Ù¸¥ ¿¬»ê
ÀÚ ÇÔ¼ö¸¦ ºô·Á¼­ »ç¿ëÇϹǷΠ±æÀÌ°¡ ª´Ù. ±×·¡¼­ inlineÀ¸·Î ÀÛ¼ºÇÏ¿© Ŭ·¡
½º Á¤ÀÇ ºí·° ³»¿¡¼­ °ð¹Ù·Î Á¤ÀÇÇÏ¿´´Ù.
¿©±â¿¡¼­ ¿¹·Î µç °ü°è ¿¬»êÀÚÀÇ ¿À¹ö·Îµù ¿¹´Â ¼öÄ¡¸¦ ³ªÅ¸³»´Â ´Ù¸¥ Ŭ·¡½º
¿¡µµ °ÅÀÇ ºñ½ÁÇÑ ¿ø¸®·Î ¾à°£¸¸ º¯Çü½ÃÅ°¸é Àû¿ëÇÒ ¼ö ÀÖ´Ù. Time Ŭ·¡½ºÀÇ
°ü°è ¿¬»êÀÚ¸¦ Á¤ÀÇÇÑ ¹æ¹ýÀ» ¿ø¿ëÇÏ¸é º¹¼Ò¼ö Ŭ·¡½º, ºÐ¼ö Ŭ·¡½º, ³¯Â¥¸¦
³ªÅ¸³¾ ¼ö ÀÖ´Â Date Ŭ·¡½º µî¿¡µµ ¶È°°Àº ±â´ÉÀ» ÇÏ´Â °ü°è ¿¬»êÀÚ¸¦ ¸¸µé
¼ö ÀÖÀ» °ÍÀÌ´Ù.


³ª. ¹®ÀÚ¿­ ¿¬°á ¿¬»êÀÚ

C++¿¡´Â ¹®ÀÚ¿­ÇüÀ̶ó´Â µ¥ÀÌÅÍ Å¸ÀÔÀÌ ¿ø·¡ºÎÅÍ ¾ø´Ù. ºñ·Ï ¹®ÀÚÇüÀÇ ¹è¿­À»
»ç¿ëÇÏ¸é ¹®ÀÚ¿­À» ±¸ÇöÇÒ ¼ö ÀÖÁö¸¸ ¹®ÀÚ¿­³¢¸® ¿¬°áÀ» ÇÒ ¶§´Â º°µµÀÇ ÇÔ¼ö(
strcat ÇÔ¼ö)°¡ ÇÊ¿äÇØ ºÒÆíÇÏ´Ù. ±×·¡¼­ ¹®ÀÚ¿­À» ´ãÀ» ¼ö ÀÖ´Â º°µµÀÇ Å¬·¡
½º STRÀ» ¸¸µé°í ÀÌ Å¬·¡½º ¾È¿¡ ¹®ÀÚ¿­À» ¿¬°áÇÏ´Â ¿¬»êÀÚ +¸¦ Á¤ÀÇÇÏ¿´´Ù.
ÀÌ ¿¹Á¦ÀÇ STR Ŭ·¡½º´Â ¾à°£ ºÎÁ·ÇÑ °¨ÀÌ ÀÖÁö¸¸ ÀÌ·± ½ÄÀ¸·Î Ŭ·¡½º¸¦ È®Àå
Á¤ÀÇÇÏ¸é ´Ù¸¥ °í±Þ ¾ð¾î¿¡¼­Ã³·³ ¹®ÀÚ¿­ÇüÀÇ µ¥ÀÌÅÍ Å¸ÀÔÀ» ¸¸µé ¼ö ÀÖ´Ù.

#include <iostream.h>
#include <string.h>
class STR               // ÇϳªÀÇ ¹®ÀÚ¿­À» ´ã´Â Ŭ·¡½º
{
private:
 char str[20];
public:1
 STR() {}
 STR(char *s)
 {
   strcpy(str,s);
 }
 void outstr()
 {
   cout << str << endl;
 }
 STR operator +(STR S);    // ¹®ÀÚ¿­ ¿¬°á ¿¬»êÀÚ
};
STR STR::operator +(STR S)    // +¿¬»êÀÚÀÇ Á¤ÀÇ
{
STR T;                      // Àӽà º¯¼ö
strcpy(T.str,str);          // Áº¯ °´Ã¼¸¦ º¹»çÇÑ´Ù.
strcat(T.str,S.str);        // ¿ìº¯ °´Ã¼¸¦ µ¡ºÙÀδÙ.
return T;                   // ±×¸®°í ¸®ÅÏÇÑ´Ù.
}
void main()
{
STR a("father ");
STR b("mother ");
STR c;
cout << "a : ";a.outstr();
cout << "b : ";b.outstr();
c=a+b;                    // µÎ ¹®ÀÚ¿­À» ¿¬°áÇÑ´Ù.
cout << "c : ";c.outstr();
}

¿¹Á¦¿¡¼­´Â ¹®ÀÚ¿­ÇüÀÇ °´Ã¼ µÎ °³¸¦ ¸¸µé°í µÎ °´Ã¼¸¦ ¿¬°áÇÏ´Â ½Ã¹üÀ» º¸ÀÎ
´Ù. ½ÇÇà °á°ú´Â ´ÙÀ½°ú °°´Ù. c °´Ã¼°¡ a¿Í bÀÇ ¹®ÀÚ¿­À» °áÇÕÇÑ ÇüÅ°¡ µÇ´Â
µ¥ ¼Ò½º¸¦ º¸¸é c¿¡ a¿Í bÀÇ ¹®ÀÚ¿­À» °áÇÕÇϱâ À§ÇØ c=a+b¶ó´Â ¾ÆÁÖ °£´ÜÇÑ
¿¬»ê 󸮸¦ ÇÑ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù.

a : father
b : mother
c : father mother

¹®ÀÚ¿­³¢¸® µ¡¼ÀÀ» ÇÏ¿© ¿¬°áÇÏ´Â ¹æ¹ýÀº BASIC µîÀÇ °í±Þ ¾ð¾î¿¡¼­ Áö¿øÇÏ´Â
¹æ¹ýÀÌ¸ç ³í¸®»ó ¾Æ¹«·± ÇÏÀÚ°¡ ¾ø´Ù. ´©°¡ º¸´õ¶óµµ ¹®ÀÚ¿­³¢¸®ÀÇ + ¿¬»êÀº
¿¬°áÀ» ÇÏ´Â ¿¬»êÀÓÀ» ÀÌÇØÇÒ ¼ö ÀÖ´Ù. ¿ÀÈ÷·Á ´õ ±ò²ûÇغ¸ÀÌ°í ½±°Ô Äڵ带
ÀÌÇØÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù.
¿¬»êÀÚ ÇÔ¼öÀÇ Á¤ÀǸ¦ º¸¸é Àӽà º¯¼ö T¸¦ ¸¸µé¾î ÀÌ °´Ã¼¿¡ Áº¯°ú ¿ìº¯ÀÇ
¹®ÀÚ¿­À» Â÷·Ê·Î ´ã¾Æ ¸®ÅÏÇØÁØ´Ù. Àӽà °´Ã¼¸¦ »ý¼ºÇÏ¿© »ç¿ëÇÏ´Â ÇÇ¿¬»êÀÚ·Î
»ç¿ëµÈ ¿ø·¡ÀÇ °´Ã¼¸¦ À¯Áö½ÃÅ°±â À§Çؼ­ÀÌ´Ù. int1ÀÌ 5ÀÌ°í int2°¡ 6ÀÏ ¶§ in
t3=int1+int2 ¿¬»êÀ» Çϸé int3¿¡´Â 11ÀÌ ´ëÀԵǰÚÁö¸¸ int1°ú int2ÀÇ °ªÀº °è
¼Ó À¯ÁöµÇÁö ¾Ê´Â°¡. ÇÇ¿¬»êÀÚÀÇ °ªÀ» º¸Á¸ÇÏ´Â °æ¿ì¿Í ±×·¸Áö ¾ÊÀº °æ¿ì¸¦ ºñ
±³Çغ¸±â À§ÇØ ¹®ÀÚ¿­³¢¸® ¿¬°áÇØÁÖ´Â ¶Ç´Ù¸¥ ¿¬»êÀÚ +=À» ¸¸µé¾î º¸ÀÚ.

#include <iostream.h>
#include <string.h>
class STR
{
private:
 char str[20];
public:
 STR() {}
 STR(char *s)
 {
   strcpy(str,s);
 }
 void outstr()
 {
   cout << str << endl;
 }
 void operator +=(STR S);     // ¹®ÀÚ¿­À» ¿¬°áÇØÁÖ´Â ¿¬»êÀÚÀÎ +=
};
void STR::operator +=(STR S)
{
strcat(str,S.str);         // Áº¯ °´Ã¼¿¡ ¿ìº¯ °´Ã¼¸¦ ´õÇØÁØ´Ù.
}
void main()
{
STR a("father ");
STR b("mother ");
cout << "a : ";a.outstr();
cout << "b : ";b.outstr();
a+=b;                      // Áº¯ °´Ã¼¿¡ ¿ìº¯ °´Ã¼¸¦ ´õÇÏ´Â ¿¬»ê½Ä
cout << "a : ";a.outstr();
cout << "b : ";b.outstr();
}

½ÇÇà °á°ú¸¦ ¾Æ·¡¿¡ º¸ÀδÙ. ½ÇÇà °á°ú¸¦ »ìÆ캸¸é ¾Ë°ÚÁö¸¸ µ¡¼ÀÀ» ÇÑ °á°ú
°¡ Áº¯ °´Ã¼¿¡ Á÷Á¢ ´ëÀԵǾî ÀÖ´Ù.

a : father
b : mother
a : father mother
b : mother

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


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

    

 ´ÙÀ½