¾Õ µÎ Ç׿¡¼ Ŭ·¡½º¿Í ±âº» ŸÀÔ°£ÀÇ º¯È¯¿¡ ´ëÇØ ¿¬±¸ÇØ º¸¾Ò´Âµ¥ ÀÌ·± º¯È¯ ÀåÄ¡µéÀº Ŭ·¡½º¿¡°Ô °¡±ÞÀû ±âº» ŸÀÔ°ú µ¿µîÇÑ ÀÚ°ÝÀ» ÁÖ±â À§ÇØ ¸¶·ÃµÈ °ÍµéÀÌ´Ù. À̹ø¿¡´Â Ŭ·¡½º³¢¸®ÀÇ º¯È¯¿¡ ´ëÇØ ¾Ë¾Æº¸µÇ Ŭ·¡½º°¡ ŸÀÔÀ̹ǷΠ»ç½Ç À̴ Ŭ·¡½º¿Í ±âº» ŸÀÔ°£ÀÇ º¯È¯°ú ÀüÇô Ʋ¸®Áö ¾Ê´Ù. °£´ÜÇÑ ¿¹Á¦ Çϳª·Î Ŭ·¡½º°£ÀÇ º¯È¯À» ¿¬±¸ÇØ º¸ÀÚ. ´ÙÀ½ ¿¹Á¦´Â ¼·¾¾ Ŭ·¡½º¿Í Ⱦ¾ Ŭ·¡½º°£À» º¯È¯ÇÑ´Ù.
|
¿¹ Á¦ : CelFah |
#include <Turboc.h>
class Fahrenheit;
class Celsius
{
public:
double Tem;
Celsius() { }
Celsius(double aTem) : Tem(aTem) { }
operator Fahrenheit();
void OutTem() { printf("¼·¾¾=%f\n",Tem); }
};
class Fahrenheit
{
public:
double Tem;
Fahrenheit() { }
Fahrenheit(double aTem) : Tem(aTem) { }
operator Celsius();
void OutTem() { printf("Ⱦ¾=%f\n",Tem); }
};
Celsius::operator Fahrenheit()
{
Fahrenheit F;
F.Tem=Tem*1.8+32;
return F;
}
Fahrenheit::operator Celsius()
{
Celsius C;
C.Tem=(Tem-32)/1.8;
return C;
}
void main()
{
Celsius C(100);
Fahrenheit F=C;
C.OutTem();
F.OutTem();
printf("\n");
Fahrenheit F2=120;
Celsius C2=F2;
F2.OutTem();
C2.OutTem();
}
µÎ Ŭ·¡½º°¡ ¼·Î¸¦ »óÈ£ ÂüÁ¶ÇϹǷΠ¼ø¼¸¦ Á¤ÇÒ ¼ö ¾øÀ¸¸ç ³ªÁß¿¡ ¼±¾ðµÇ´Â Ŭ·¡½º¿¡ ´ëÇÑ Àü¹æ ¼±¾ðÀÌ ÇÊ¿äÇÏ´Ù. class Fahrenheit; ¼±¾ð¹®Àº ÀÌ ¸íĪÀÌ Å¬·¡½ºÀÇ ÀÏÁ¾À̶ó´Â °ÍÀ» ¹Ì¸® ¾Ë¸®¸ç º¯È¯ ÇÔ¼öÀÇ ¿øÇü ¼±¾ðÀ» À§ÇØ Àü¹æ ¼±¾ðÀÌ ¸ÕÀú µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù. °¢ Ŭ·¡½ºÀÇ ¸â¹ö ÇÔ¼öµéÀº »ó´ë¹æ Ŭ·¡½ºÀÇ ¸ð¾çÀ» Á¤È®ÇÏ°Ô ¾Ë¾Æ¾ß ÇϹǷΠ¿ÜºÎ Á¤ÀǸ¸ °¡´ÉÇÏ´Ù.
¼·¾¾, Ⱦ¾´Â µÑ ´Ù ¿Âµµ¸¦ ³ªÅ¸³»´Â ´ÜÀ§Àε¥ ¼·¾¾´Â ¹°ÀÇ ¾î´ÂÁ¡À» 0µµ, ²ú´Â Á¡À» 100µµ·Î Á¤ÇÏ°í ±× »çÀÌÀÇ ¿Âµµ¸¦ 100µîºÐÇÑ °ÍÀ̸ç Ⱦ¾´Â ¾î´ÂÁ¡, ²ú´Â Á¡À» °¢°¢ 32µµ, 212µµ·Î Á¤ÇÏ°í ±× »çÀÌÀÇ ¿Âµµ¸¦ 180µîºÐÇÑ °ÍÀÌ´Ù. µÎ ¿Âµµ´Â ´ÙÀ½°ú °°Àº °ø½ÄÀ¸·Î º¯È¯ °¡´ÉÇѵ¥ ´õ ÀÚ¼¼ÇÑ ³»¿ëÀº ³×À̹ö Áö½ÄÀÎÀ» ÂüÁ¶Çϱ⠹ٶõ´Ù.
C=(F-32)/1.8
F=C*1.8+32
¿¹Á¦´Â ÀÌ °ø½Ä¿¡ µû¶ó Celsius Ŭ·¡½º¿¡ Ⱦ¾·Î ¹Ù²Ù´Â º¯È¯ ÇÔ¼ö¸¦ Á¤ÀÇÇϰí Fahrenheit Ŭ·¡½º¿¡ ¼·¾¾·Î ¹Ù²Ù´Â º¯È¯ ÇÔ¼ö¸¦ Á¦°øÇÑ´Ù. °¢ º¯È¯ ÇÔ¼ö´Â »ó´ëÆíÀÇ Àӽà °´Ã¼¸¦ ¸¸µç ÈÄ º¯È¯ °ø½Ä´ë·Î ÃʱâÈÇÏ¿© ¸®ÅÏÇÑ´Ù. Áö¿ªº¯¼ö¸¦ ¸®ÅÏÇÏ´Â Äڵ尡 »ó´çÈ÷ ¾î»öÇØ º¸À̰ÚÁö¸¸ º¯È¯ÇÒ ¶§¸¸ Àá½Ã »ç¿ëÇϰí È£Ãâ °´Ã¼¿¡ ´ëÀÔµÇ¸é »ç¶óÁ®µµ »ó°ü¾øÀ¸¹Ç·Î º° ¹®Á¦°¡ µÇÁö´Â ¾Ê´Â´Ù.
![]()
µÎ Ŭ·¡½ºÀÇ °´Ã¼³¢¸®´Â ¾Ï½ÃÀûÀÎ º¯È¯ÀÌ °¡´ÉÇÏ¿© »óÈ£ Ãʱâ½Ä¿¡ »ç¿ëÇÒ ¼ö ÀÖ°í ¾ðÁ¦µçÁö »ó´ëÆíÀÇ °´Ã¼¸¦ ´ëÀÔÇÒ ¼ö ÀÖ´Ù. ´ëÀÔÀÌ °¡´ÉÇϹǷΠ¼·ÎÀÇ Àμö¸¦ ¿ä±¸ÇÏ´Â ÇÔ¼ö·Îµµ Àü´ÞÇÒ ¼ö ÀÖ´Ù. ½ÇÇà °á°ú´Â ´ÙÀ½°ú °°´Ù.
¼·¾¾=100.000000
Ⱦ¾=212.000000
Ⱦ¾=120.000000
¼·¾¾=48.888889
µÎ Ŭ·¡½º°¡ »óÈ£ÀÇ Å¸ÀÔÀ¸·Î º¯È¯ÇÏ´Â ÇÔ¼ö¸¦ Á¦°øÇÏ´Â ´ë½Å ÇÑÂÊ Å¬·¡½º°¡ º¯È¯ »ý¼ºÀÚ¿Í º¯È¯ ÇÔ¼ö¸¦ µ¿½Ã¿¡ Á¦°øÇÏ´Â ¹æ½Äµµ °¡´ÉÇÏ´Ù. Celcius::operator Farenheit() º¯È¯ ÇÔ¼ö¸¦ Á¦°ÅÇϰí Farenheit¿¡ Celsius ŸÀÔÀ¸·ÎºÎÅÍ ÀÚ½ÅÀ» »ý¼ºÇÏ´Â º¯È¯ »ý¼ºÀÚ¸¦ Á¤ÀÇÇØ º¸ÀÚ.
class Fahrenheit
{
public:
double Tem;
Fahrenheit() { }
Fahrenheit(double aTem) : Tem(aTem) { }
Fahrenheit(Celsius C) {
Tem=C.Tem*1.8+32;
}
operator Celsius();
void OutTem() { printf("Ⱦ¾=%f\n",Tem); }
};
ÀÌ·¸°Ô ÇØµµ °á°ú´Â µ¿ÀÏÇÏ´Ù. Celsius°¡ ÀÚ½ÅÀ» Farenheit·Î º¯È¯Çϳª Farenheit°¡ Celsius·ÎºÎÅÍ ÀÚ½ÅÀ» »ý¼ºÇϳª °á±¹Àº °°Àº º¯È¯ÀÎ °ÍÀÌ´Ù. º¯È¯ »ý¼ºÀÚ¿Í º¯È¯ ÇÔ¼ö´Â »óÈ£ ´ëü¼ºÀÌ ÀÖ´Ù°í ÇÒ ¼ö ÀÖ´Ù. ¾î·µç ¾ç¹æÇâÀ¸·Î µÎ °³ÀÇ ÇÔ¼ö°¡ ÀÖÀ¸¸é µÈ´Ù.

±×·¸´Ù¸é º¯È¯ ÇÔ¼ö¸¸À¸·Î ÇÊ¿äÇÑ º¯È¯À» ´Ù ÇÒ ¼ö Àִµ¥ º¯È¯ »ý¼ºÀÚ´Â ±»ÀÌ ¿Ö ¸¸µé¾î ³õÀº °ÍÀϱî? ±× ÀÌÀ¯´Â ±âº» ŸÀÔÀº ÄÄÆÄÀÏ·¯¿¡ ³»ÀåµÇ¾î ÀÖ¾î ¸¶À½´ë·Î ¼öÁ¤ÇÒ ¼ö ÀÖ´Â ´ë»óÀÌ ¾Æ´Ï¸ç º¯È¯ ÇÔ¼ö¸¦ Á¤ÀÇÇÒ ¼ö ¾ø±â ¶§¹®ÀÌ´Ù. ¿¹¸¦ µé¾î ¼·¾¾, Ⱦ¾ ¸ðµÎ ½Ç¼öÇüÀ¸·Î º¯È¯ °¡´ÉÇѵ¥ doubleÀÌ Å¬·¡½ºÇüÀ¸·Î º¯È¯ÇÏÁö ¸øÇϹǷΠŬ·¡½º°¡ double·ÎºÎÅÍ ÀÚ½ÅÀ» »ý¼ºÇØ¾ß Çϸç À̶§´Â º¯È¯ »ý¼ºÀÚ°¡ ²À ÇÊ¿äÇÏ´Ù.

int, double°°Àº ±âº» ŸÀÔ»Ó¸¸ ¾Æ´Ï¶ó »ç¿ëÀÚ Á¤ÀÇ Å¸ÀÔµµ ¶§·Î´Â ¼öÁ¤ÇÒ ¼ö ¾ø´Â °æ¿ì°¡ ÀÖ´Ù. ¿¹¸¦ µé¾î »ó¿ë Ŭ·¡½º ¶óÀ̺귯¸®¸¦ ±¸ÀÔÇØ¼ »ç¿ëÇϰí ÀÖ´Ù¸é ½ÊÁßÆÈ±¸ ¼Ò½º´Â ¾øÀ¸¹Ç·Î À̶§µµ ¶óÀ̺귯¸®³»ÀÇ Å¬·¡½º´Â ¼öÁ¤ ´ë»óÀÌ ¾Æ´Ï´Ù. ±×·¯¹Ç·Î ¾²´Â ÂÊ¿¡¼ º¯È¯ »ý¼ºÀÚ¿Í º¯È¯ ÇÔ¼ö¸¦ ¸ðµÎ Á¦°øÇÒ ¼ö¹Û¿¡ ¾ø´Ù.
ÀÌ»óÀ¸·Î Ŭ·¡½º¿Í ±âº» ŸÀÔ, Ŭ·¡½º°£ÀÇ º¯È¯¿¡ ´ëÇØ ¿¬±¸ÇØ ºÃ´Âµ¥ ÇÔ¼ö¿¡ ÀÇÇØ º¯È¯ÀÌ ÀÌ·ç¾îÁö¹Ç·Î »ç½Ç»ó ¿øÇÏ´Â ¾î¶² ¹æ½ÄÀ¸·Îµµ º¯È¯ °¡´ÉÇÏ´Ù. ±×·¯³ª ŸÀÔ°£ÀÇ º¯È¯À̶õ ¼·Î Á¶±ÝÀÌ¶óµµ ³í¸®ÀûÀΠȣȯ¼ºÀÌ ÀÖÀ» ¶§¸¸ Àǹ̰¡ ÀÖ´Ù´Â Á¡À» ¸í½ÉÇÏÀÚ. ¼·¾¾¿Í Ⱦ¾´Â µÑ ´Ù ¿Âµµ¶ó´Â ¹°¸®·®À» Ç¥ÇöÇÑ´Ù´Â Á¡¿¡¼ °øÅëÀûÀÌ°í ¹üÀ§¸¸ ´Ù¸£±â ¶§¹®¿¡ °£´ÜÇÑ ¼ö½ÄÀ¸·Î º¯È¯ °¡´ÉÇÏ´Ù. TimeÀº Àý´ëÃʶó´Â °³³äÀ» µµÀÔÇ߱⠶§¹®¿¡ Á¤¼öÇü°ú ȣȯµÉ ¼ö ÀÖ¾ú´Ù.
±×·¯³ª Person°ú Timeó·³ ³í¸®ÀûÀ¸·Î ÀüÇô ȣȯµÇÁö ¾Ê´Â ŸÀÔ³¢¸® º¯È¯ ÇÔ¼ö¸¦ Á¦°øÇÏ´Â °ÍÀº ¾óÅä´çÅä ¾ÊÀº ÀÏÀÌ´Ù. C++Àº ÀÓÀÇÀÇ Å¸ÀÔ³¢¸® ¿øÇÏ´Â ¹æ¹ýÀ¸·Î º¯È¯ÇÒ ¼ö ÀÖ´Â ¹®¹ýÀ» Á¦°øÇϱâ´Â ÇÏÁö¸¸ Àý´ë·Î ÀÌ·± ±â´ÉÀ» ³²¿ëÇØ¼´Â ¾ÈµÈ´Ù. ²À ÇÊ¿äÇÒ ¶§¸¸ ÁÖÀÇÇØ¼ »ç¿ëÇ쵂 ÀڽžøÀ¸¸é ´çºÐ°£ ÀÌ·± ±â´ÉÀº ¾Æ¿¹ ¾ø´Ù°í »ý°¢ÇÏ´Â °ÍÀÌ ´õ ÁÁ´Ù. º¯È¯ ÇÔ¼ö´Â ³ª¸§´ë·Î Èï¹Ì´Â ÀÖÁö¸¸ ¼ÖÁ÷È÷ ½Ç¿ë¼ºÀº º°·Î ¾ø´Â ÆíÀÌ´Ù. À߸ø »ç¿ëÇÏ¸é ½É°¢ÇÑ ºÎÀÛ¿ëÀÌ ³ªÅ¸³¯ ¼öµµ ÀÖ°í ¿¹ÃøÇϱâ Èûµç ÇÔÁ¤µµ Á¸ÀçÇÑ´Ù.