31-2-¶ó.µðÆúÆ® ÅÛÇø´ Àμö

ÇÔ¼öÀÇ µðÆúÆ® Àμö´Â ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§ »ý·«µÈ Àμö¿¡ ´ëÇØ ±âº»ÀûÀ¸·Î Àû¿ëµÇ´Â °ªÀÌ´Ù. Ŭ·¡½º ÅÛÇø´¿¡µµ ÀÌ¿Í ºñ½ÁÇÑ °³³äÀÎ µðÆúÆ® ÅÛÇø´ Àμö°¡ Àִµ¥ °´Ã¼ ¼±¾ð¹®¿¡¼­ Àμö¸¦ »ý·«ÇÒ °æ¿ì ÅÛÇø´ ¼±¾ð¹®¿¡¼­ ÁöÁ¤ÇÑ µðÆúÆ®°¡ Àû¿ëµÈ´Ù. »ç¿ëÇϴ ǥ±â¹ýÀ̳ª ÁÖÀÇ »çÇ×µµ ´ëü·Î ÇÔ¼öÀÇ °æ¿ì¿Í µ¿ÀÏÇÏ´Ù. ¿¹¸¦ µé¾î PosValue Ŭ·¡½º ÅÛÇø´ÀÇ T¿¡ int¶ó´Â µðÆúÆ® ŸÀÔÀ» ÁöÁ¤ÇÏ°í ½Í´Ù¸é ´ÙÀ½°ú °°ÀÌ ÅÛÇø´À» ÀÛ¼ºÇÑ´Ù.

 

template <typename T=int>

class PosValue

{

     ....

 

< > °ýÈ£¾ÈÀÇ Å¸ÀÔ À̸§ ´ÙÀ½¿¡ = ±¸ºÐÀÚ¸¦ ¾²°í µðÆúÆ®·Î Àû¿ëµÉ ŸÀÔÀ» ÁöÁ¤ÇÑ´Ù. ÀÌÁ¦ º°´Ù¸¥ ÁöÁ¤ÀÌ ¾øÀ¸¸é T´Â µðÆúÆ® ŸÀÔÀÎ int°¡ µÈ´Ù. Á¤¼öÇüÀÇ PosValue °´Ã¼¸¦ ¼±¾ðÇÒ ¶§ ´ÙÀ½°ú °°ÀÌ °£´ÜÇÏ°Ô Å¬·¡½º ŸÀÔÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ŸÀÔ ÁöÁ¤¾øÀÌ ºó < >°ýÈ£¸¸ ¾²¸é µÈ´Ù.

 

PosValue<> iv(1,1,2);

 

¹°·Ð PosValue<double>°ú °°ÀÌ Å¸ÀÔÀ» ºÐ¸íÈ÷ ¹àÈ÷¸é µðÆúÆ®´Â ¹«½ÃµÉ °ÍÀÌ´Ù. µðÆúÆ®¸¦ ±×´ë·Î ¹Þ¾ÆµéÀÏ °æ¿ì´Â ŸÀÔ ÁöÁ¤À» ÇÏÁö ¾ÊÀ¸¸é µÇ´Âµ¥ ±×·¸´õ¶óµµ ºó °ýÈ£ < >´Â ²À ÀÖ¾î¾ß ÇÑ´Ù. ŸÀÔÀ» ¿©·¯ °³ °¡Áö´Â Ŭ·¡½ºÀÇ °æ¿ì ¿À¸¥ÂÊ ÀμöºÎÅÍ Â÷·Ê´ë·Î µðÆúÆ®¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖÀ¸¸ç °´Ã¼¸¦ ¼±¾ðÇÒ ¶§´Â ¿À¸¥ÂʺÎÅÍ ¼ø¼­´ë·Î »ý·« °¡´ÉÇÏ´Ù. ÀÌ Á¡µµ ÇÔ¼öÀÇ µðÆúÆ® Àμö¿Í °°´Ù.

Ŭ·¡½º ÅÛÇø´¿¡´Â µðÆúÆ® Àμö¸¦ ÁÙ ¼ö ÀÖÁö¸¸ ÇÔ¼ö ÅÛÇø´¿¡´Â µðÆúÆ®¸¦ Á¤ÀÇÇÒ ¼ö ¾ø´Ù. Ŭ·¡½º´Â °´Ã¼¸¦ ¼±¾ðÇÒ ¶§ Ŭ·¡½º ŸÀÔÀ» ÁöÁ¤ÇϹǷΠ»ý·« °¡´ÉÇÏÁö¸¸ ÇÔ¼ö´Â È£ÃâÇÒ ¶§ ½ÇÀμöÀÇ Å¸ÀÔÀ» º¸°í ±¸Ã¼È­ÇÒ ÇÔ¼ö¸¦ °áÁ¤ÇÑ´Ù. ½ÇÀμö°¡ »ý·«µÇ¾î ¹ö¸®¸é µµ´ëü ¾î¶² ŸÀÔÀÇ ÇÔ¼ö¸¦ ¿øÇÏ´ÂÁö ÄÄÆÄÀÏ·¯°¡ ¾Ë ¹æ¹ýÀÌ ¾ø±â ¶§¹®ÀÌ´Ù.