¿©±â±îÁö ÁÖ·Î + ¿¬»êÀÚ¸¸À» ´ë»óÀ¸·Î ¿¬»êÀÚ¸¦ ¿À¹ö·ÎµùÇÏ´Â ±âº»ÀûÀÎ ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº¸¾Ò´Ù. µ«¼À ¿¬»êÀÚ°¡ °¡Àå ±âº»ÀûÀÌ°í ¿¬»êÀÚÀÇ ÀϹÝÀûÀΠƯ¡À» ´ëº¯ÇÏ´Â ´ëÇ¥Àû ¿¬»êÀÚÀ̱⠶§¹®ÀÌ´Ù. ÀÌ Àý¿¡¼´Â °³º° ¿¬»êÀÚº°·Î ¿À¹ö·Îµù ½Ç½ÀÀ» ÇØ º¼ °ÍÀÌµÇ ±âº» ±ÔÄ¢¿Ü¿¡µµ °¢ ¿¬»êÀÚº°·Î °íÀ¯ÇÏ°Ô Àû¿ëµÇ´Â ±ÔÄ¢°ú ÁÖÀÇ »çÇ×µéÀÌ ¸¹ÀÌ Á¸ÀçÇÑ´Ù.
¸ðµç ¿¬»êÀÚ¿¡ ÀϰüµÇ°Ô Àû¿ëµÇ´Â ±ÔÄ¢Àº ¾ø°í ¿¬»êÀÚÀÇ µ¿ÀÛ°ú Àǹ̿¡ µû¶ó ¿À¹ö·ÎµùÇÏ´Â ¹æ¹ýÀÌ ´Ù¸£´Ù. ´ë°³ÀÇ °æ¿ì »ó½Ä°ú ÀÏÄ¡ÇϹǷΠ¾î·ÆÁö´Â ¾ÊÁö¸¸ ¿¬»êÀÚÀÇ ¼ö°¡ ¸¹±â ¶§¹®¿¡ ÇѲ¨¹ø¿¡ ´Ù °øºÎÇϱâ´Â ½±Áö ¾Ê´Ù. ÀÌ ÀýÀÇ ³»¿ëÀº óÀ½ºÎÅÍ ´Ù ÀÌÇØÇÏ·Á°í ÇÏ´Â °Íº¸´Ù´Â ´ëÃæ Åëµ¶¸¸ ÇØ µÎ°í ÇØ´ç ¿¬»êÀÚ¸¦ ¿À¹ö·ÎµùÇÒ Çʿ䰡 ÀÖÀ» ¶§ ´Ù½Ã »ó¼¼ÇÏ°Ô °øºÎÇÏ´Â °ÍÀÌ ´õ ÁÁ´Ù.
°ü°è ¿¬»êÀÚ´Â µ¿ÀÏÇÑ Å¸ÀÔÀÇ µÎ °´Ã¼¿¡ ´ëÇØ »óµî ¹× ´ë¼Ò¸¦ ºñ±³ÇÑ´Ù. Ŭ·¡½ºº°·Î ºñ±³ ¹æ¹ýÀÌ Æ²¸®¹Ç·Î Æí¸®ÇÑ ºñ±³¸¦ À§Çؼ´Â °ü°è ¿¬»êÀÚ¸¦ ¿À¹ö·ÎµùÇÏ´Â °ÍÀÌ ÁÁ´Ù. ´ÙÀ½ ¿¹Á¦´Â Time °´Ã¼ÀÇ °ü°è ¿¬»êÀÚ¸¦ ¿À¹ö·ÎµùÇÑ °ÍÀÌµÇ Æ¯º°ÇÑ ÁÖÀÇ »çÇ×À̳ª »õ·Î¿î ±ÔÄ¢Àº ¾ø´Ù. °°Àº ŸÀÔÀÇ °´Ã¼³¢¸® ºñ±³ÇÏ´Â °ÍÀ̹ǷΠ¸ðµÎ ¸â¹ö ¿¬»êÀÚ ÇÔ¼ö·Î Á¤ÀÇÇß´Ù. ¹°·Ð Àü¿ª ÇÔ¼ö·Îµµ ¾ó¸¶µçÁö ¸¸µé ¼ö ÀÖ´Ù.
|
¿¹ Á¦ : TimeRelation |
#include <Turboc.h>
class Time
{
private:
int hour,min,sec;
public:
Time() { }
Time(int h, int m, int s) { hour=h; min=m; sec=s; }
void OutTime() {
printf("%d:%d:%d\n",hour,min,sec);
}
bool operator ==(const Time &T) const {
return (hour == T.hour && min == T.min && sec == T.sec);
}
bool operator !=(const Time &T) const {
return !(*this == T);
}
bool operator >(const Time &T) const {
if (hour > T.hour) return 1;
if (hour < T.hour) return 0;
if (min > T.min) return 1;
if (min < T.min) return 0;
if (sec > T.sec) return 1;
return 0;
}
bool operator >=(const Time &T) const {
return (*this == T || *this > T);
}
bool operator <(const Time &T) const {
return !(*this >= T);
}
bool operator <=(const Time &T) const {
return !(*this > T);
}
};
void main()
{
Time A(1,1,1);
Time B(1,1,1);
if (A == B) {
puts("A¿Í B´Â °°´Ù.");
} else {
puts("A¿Í B´Â ´Ù¸£´Ù.");
}
}
¸ÕÀú µÎ °´Ã¼°¡ °°ÀºÁö¸¦ Á¡°ËÇÏ´Â == ¿¬»êÀÚ¸¦ º¸ÀÚ. µÎ °´Ã¼°¡ ¿ÏÀüÈ÷ °°À¸·Á¸é ½ÃºÐÃÊÀÇ ¿ä¼Ò°¡ ¸ðµÎ ÀÏÄ¡ÇØ¾ß ÇÑ´Ù. ±×·¡¼ Á¿캯 °´Ã¼ÀÇ hour, min, sec ¸â¹ö¸¦ ¸ðµÎ ºñ±³ÇÑ °á°ú¸¦ && ·Î ¹¾î ¼¼ ¿ä¼Ò°¡ ¸ðµÎ ÀÏÄ¡ÇÏ¸é °°Àº °ÍÀ¸·Î ÆÇ´ÜÇÏ°í ¼Â Áß Çϳª¶óµµ Ʋ¸®¸é ´Ù¸¥ °ÍÀ¸·Î ÆÇ´ÜÇϵµ·Ï Çß´Ù. ÀÌ ¿¬»êÀÚ°¡ Á¤ÀǵǸé if (A == B)¶ó´Â ¿¬»ê½ÄÀ¸·Î µÎ °´Ã¼ÀÇ »óµî ºñ±³¸¦ ÇÒ ¼ö ÀÖ´Ù.
°ü°è ¿¬»êÀÚ´Â ÁøÀ§ÀûÀÎ ¿¬»êÀ» ÇϹǷΠ¸®ÅÏ Å¸ÀÔÀº boolÇüÀÌ °¡Àå ÀûÇÕÇÏ´Ù. ±×·¯³ª ¹Ýµå½Ã bool¸¸ °¡´ÉÇÑ °ÍÀº ¾Æ´Ï´Ù. BOOLÇüÀÏ ¼öµµ ÀÖ°í intÇüµµ ¾ó¸¶µçÁö °¡´ÉÇѵ¥ ¹®ÀÚ¿ °ü·Ã ŸÀÔÀÇ °æ¿ì strcmp °°Àº Ç¥ÁØ ÇÔ¼ö¿Í º¸Á¶¸¦ ¸ÂÃß°í ½Í´Ù¸é intÇüÀ» ¸®ÅÏÇÏ´Â °ÍÀÌ ¿ÀÈ÷·Á ´õ Æí¸®ÇÒ ¼öµµ ÀÖ´Ù. ¿¬»êÀÚ Çϳª¸¸ ³õ°í º»´Ù¸é ´ç¿¬È÷ boolÇüÀ̾î¾ß°ÚÁö¸¸ Å©´Ù, ÀÛ´Ù, °°´ÙÀÇ ¼¼ °¡Áö »óÅ Áß Çϳª¸¦ ¸®ÅÏÇÏ·Á¸é int ŸÀÔÀÌ ´õ ¾î¿ï¸°´Ù.
µÎ °´Ã¼°¡ ´Ù¸¥Áö¸¦ Á¡°ËÇÏ´Â != ¿¬»êÀÚ´Â Á÷Á¢ Äڵ带 ÀÛ¼ºÇÒ ÇÊ¿ä¾øÀÌ == ¿¬»êÀÚ¸¦ È£ÃâÇÑ °á°ú¸¦ ¹Ý´ë·Î µÚÁý¾î¼ ´Ù½Ã ¸®ÅÏÇÏ¸é µÈ´Ù. ´Ù¸£´Ù´Â »óÅ´ °°Áö ¾Ê´Ù´Â »óÅÂ¿Í Àǹ̰¡ µ¿ÀÏÇϱ⠶§¹®¿¡ µÎ ÇÔ¼öÀÇ º»Ã¼¸¦ °¢°¢ µû·Î ¸¸µé Çʿ䰡 ¾ø´Ù. È£Ãâ °´Ã¼ÀÎ *this¿Í ¿ìº¯ °´Ã¼ÀÎ T¿¡ ´ëÇØ ==·Î ¿¬»êÇϸé ÀÌ¹Ì ÀçÁ¤ÀÇµÈ operator ==ÀÌ È£ÃâµÉ °ÍÀÌ°í ±× °á°ú¿¡ ! ¿¬»êÀ» Àû¿ëÇÏ¿© ¸®ÅÏÇß´Ù.
Áº¯ÀÌ ¿ìº¯º¸´Ù ´õ Å«Áö¸¦ Á¡°ËÇÏ´Â > ¿¬»êÀº ³ª¸§´ë·Î Á¶±Ý º¹ÀâÇÏ´Ù. ½ÃºÐÃÊ·Î ±¸¼ºµÇ´Â Time °´Ã¼¿¡¼ ¹«¾ùº¸´Ù °¡Àå Å« ´ÜÀ§ÀÎ ½Ã°£ÀÌ ¿ì¼±ÀûÀ¸·Î ºñ±³µÇ¾î¾ß ÇÑ´Ù. ½Ã°£ÀÌ ´õ Å©¸é ºÐÃÊÀÇ ´ë¼Ò¿¡´Â »ó°ü¾øÀÌ ÀÌ °´Ã¼°¡ ´õ Å« °ÍÀ¸·Î ½±°Ô ÆÇ´ÜÇÒ ¼ö ÀÖ´Ù. ±×·¡¼ ÀÏ´Ü hour ¸â¹ö¸¦ ºñ±³ÇØ º¸°í ´ë¼Ò¸¦ ÆÇ´ÜÇÑ´Ù. ¸¸¾à µÎ Á¶°Ç(hour > T.hour, hour < T.hour)ÀÌ ¸ðµÎ ¸¸Á·ÇÏÁö ¾ÊÀ» °æ¿ì´Â ´ÙÀ½ Â÷·Ê·Î ºÐÀ» ºñ±³ÇÏ°í ºÐ±îÁö ÀÏÄ¡ÇÑ´Ù¸é Ãʸ¦ ºñ±³ÇÏ¿© ´ë¼Ò¸¦ ÆÇ°¡¸§ÇÑ´Ù. ÃÖÁ¾ÀûÀ¸·Î ÃʱîÁö ºñ±³ÇØ º¸°í È£ÃⰴüÀÇ Ãʰ¡ ¿ìº¯ °´Ã¼º¸´Ù Å©Áö ¾Ê´Ù¸é ÀÌ °æ¿ì´Â À۰ųª °°Àº °æ¿ìÀ̹ǷΠÀüü ¿¬»êÀÇ °á°ú´Â °ÅÁþÀÌ µÉ °ÍÀÌ´Ù. if¹®ÀÌ ³Ê¹« ¸¹¾Æ º¸±â ½È´Ù¸é ´ÙÀ½°ú °°ÀÌ Âª°Ô ¾µ ¼öµµ ÀÖ´Ù.
int operator >(const Time &T) const {
return (hour*3600+min*60+sec > T.hour*3600+T.min*60+T.sec);
}
È£Ãâ °´Ã¼¿Í ¿ìº¯ °´Ã¼ÀÇ ½Ã°£À» Àý´ëÃÊ·Î ¹Ù²Û ÈÄ ºñ±³ °á°ú¸¦ ¹Ù·Î ¸®ÅÏÇÏ¸é µÈ´Ù. 3Â÷¿øÀÇ °ªÀ» 1Â÷¿øÀ¸·Î ¹Ù²Û ÈÄ ºñ±³ÇÏ´Â °ÍÀÌ´Ù. »ý¼ºµÇ´Â ±â°è¾î Äڵ峪 ¼Óµµ´Â ºñ½ÁÇÏÁö¸¸ »ç¶÷ÀÌ »ý°¢Çϱ⿡´Â ÀÌ ¹æ¹ýÀÌ ´õ ½¬¿ö º¸ÀδÙ. °°´Ù¿Í Å©´Ù¸¦ ºñ±³ÇÏ´Â ¿¬»êÀÚ°¡ ¿Ï¼ºµÇ¸é ³ª¸ÓÁö ºÎµî ºñ±³ ¿¬»êÀÚµéÀº µû·Î Äڵ带 ÀÛ¼ºÇÒ Çʿ䰡 ¾øÀ¸¸ç ÀÌ¹Ì ¸¸µé¾îÁø ¿¬»êÀÚ¸¦ È£ÃâÇÑ °á°ú¸¸ Á¶ÇÕÇÏ¸é µÈ´Ù. ³²Àº ¼¼ ºÎµî ¿¬»êÀº ³í¸®ÀûÀ¸·Î ´ÙÀ½Ã³·³ °°´Ù¿Í Å©´Ù, ±×¸®°í ¾Æ´Ï´ÙÀÇ Á¶ÇÕÀ¸·Î ¹Ù²Ü ¼ö ÀÖ´Ù.
|
¿¬»ê |
´ëü ¿¬»ê |
|
Å©°Å³ª °°´Ù |
°°´Ù ¶Ç´Â Å©´Ù |
|
ÀÛ´Ù |
Å©°Å³ª °°´Ù°¡ ¾Æ´Ï´Ù |
|
À۰ųª °°´Ù |
Å©´Ù°¡ ¾Æ´Ï´Ù |
ÀÌ·¸°Ô ¹Ù²ãÁø Á¶ÇÕÀ» ÀûÀýÇÑ Á¶°Ç¹®ÀÇ ÄÚµå·Î ¿Å±â±â¸¸ ÇÏ¸é µÈ´Ù. ÁÖÀÇÇÒ °ÍÀº ÀÛ´ÙÀÇ ¹Ý´ë Á¶°ÇÀÌ Å©´Ù°¡ ¾Æ´Ï¶ó Å©°Å³ª °°´Ù¶ó´Â Á¡ÀÌ´Ù. ¾ö¹ÐÇÏ°Ô ³í¸®¸¦ µûÁöÁö ¾Ê´Â ÀÚ¿¬¾î¿¡¼¿Í ¼öÇп¡¼ÀÇ ´ë¼Ò ¹Ý´ë Á¶°ÇÀÌ ´Ù¸£¹Ç·Î Çò°¥¸®Áö ¸»ÀÚ.
PositionRelation
Position °´Ã¼³¢¸® ºñ±³ÇÏ´Â ¿¬»êÀÚ¸¦ ÀÛ¼ºÇ϶ó. °´Ã¼ÀÇ ¿¬»ê ¹æ¹ýÀº Ŭ·¡½º ÀÛ¼ºÀÚ°¡ ¼±ÅÃÇÒ ¼ö Àִµ¥ Position Ŭ·¡½º´Â y ÁÂÇ¥¸¦ ÃÖ¿ì¼± ºñ±³Çϰí y°¡ °°À» °æ¿ì´Â x ÁÂÇ¥·Î ºñ±³Ç쵂 ch´Â Ãâ·ÂÇÒ ¹®ÀÚÀ̹ǷΠºñ±³ ´ë»ó¿¡¼ Á¦¿ÜÇÏ´Â °ÍÀ¸·Î Á¤ÀÇÇÑ´Ù.