28-3-¹Ù.¸â¹ö ÂüÁ¶ ¿¬»êÀÚ

Ŭ·¡½º³ª ±¸Á¶Ã¼ÀÇ ¸â¹ö¸¦ ÂüÁ¶ÇÏ´Â ¿¬»êÀÚ¿¡´Â . °ú -> µÎ °¡Áö°¡ ÀÖ´Ù. ÀÌÁß . ¿¬»êÀڴ Ŭ·¡½º¸¦ ÇÁ·Î±×·¡¹ÖÇÏ´Â ³Ê¹« ±âº»ÀûÀÎ ¿¬»êÀÚÀ̹ǷΠ¿À¹ö·ÎµùÇÒ ¼ö ¾øÀ¸¸ç °´Ã¼ÀÇ Æ÷ÀÎÅͷκÎÅÍ ¸â¹ö¸¦ Àд ->¿¬»êÀÚ´Â ¿À¹ö·Îµù ´ë»óÀÌ´Ù. ÀÌ ¿¬»êÀÚ´Â ´Ù¸¥ ¿¬»êÀÚ¿Í´Â ´Ù¸¥ µ¶Æ¯ÇÑ ¿À¹ö·Îµù ±ÔÄ¢ÀÌ Àû¿ëµÇ´Âµ¥ ¿ø·¡ ÀÌÇ× ¿¬»êÀÚÀÌÁö¸¸ ¿À¹ö·ÎµùÇÏ¸é ´ÜÇ× ¿¬»êÀÚ°¡ µÇ¸ç Àü¿ª ÇÔ¼ö·Î´Â Á¤ÀÇÇÒ ¼ö ¾ø°í Ŭ·¡½ºÀÇ ¸â¹ö ÇÔ¼ö·Î¸¸ Á¤ÀÇÇÒ ¼ö ÀÖ´Ù. ¸â¹ö ÇÔ¼öÀ̸鼭 ´ÜÇ×À̹ǷΠ°á±¹ Àμö¸¦ ÃëÇÏÁö ¾Ê´Â´Ù.

ÀÌ ¿¬»êÀÚÀÇ ¸®ÅÏ Å¸ÀÔÀº Ŭ·¡½º³ª ±¸Á¶Ã¼ÀÇ Æ÷ÀÎÅÍ·Î °íÁ¤µÇ¾î ÀÖ´Ù. º¸Åë Ŭ·¡½º¿¡ Æ÷ÇÔµÈ ´Ù¸¥ Ŭ·¡½º °´Ã¼³ª ±¸Á¶Ã¼ÀÇ ¹øÁö¸¦ ¸®ÅÏÇÏ¿© Æ÷ÇÔµÈ °´Ã¼ÀÇ ¸â¹ö¸¦ Àд ¿ëµµ·Î »ç¿ëµÈ´Ù. ÀÌ ¿¬»êÀÚ¸¦ ¿À¹ö·ÎµùÇÏ¸é Æ÷ÇÔ °´Ã¼ÀÇ ¸â¹ö¸¦ ¸¶Ä¡ ÀÚ½ÅÀÇ ¸â¹öó·³ ¾×¼¼½ºÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½Àº °£´ÜÇÑ ¿¹Á¦ÀÌ´Ù.

 

¿¹ Á¦ : MemberAccessOp

#include <Turboc.h>

 

struct Author {

     char Name[32];

     char Tel[24];

     int Age;

};

 

class Book

{

private:

     char Title[32];

     Author Writer;

 

public:

     Book(const char *aTitle,const char *aName,int aAge) {

          strcpy(Title,aTitle);

          strcpy(Writer.Name,aName);

          Writer.Age=aAge;

     }

     Author *operator->() { return &Writer; }

     const char *GetTitle() { return Title; }

};

 

void main()

{

     Book Hyc("È¥ÀÚ ¿¬±¸ÇÏ´Â C/C++","±è»óÇü",25);

     printf("Á¦¸ñ:%s, ÀúÀÚ:%s, ÀúÀÚ ³ªÀÌ:%d¼¼\n",Hyc.GetTitle(),Hyc->Name,Hyc->Age);

}

 

Book Ŭ·¡½º¾È¿¡ ÀúÀÚÀÇ ½Å»óÀ» Ç¥ÇöÇÏ´Â Author °´Ã¼ Writer°¡ ¸â¹ö·Î Æ÷ÇԵǾî ÀÖ°í ÀÌ ¸â¹öÀÇ ¹øÁö¸¦ ¸®ÅÏÇÏ´Â -> ¿¬»êÀÚ°¡ Á¤ÀǵǾî ÀÖ´Ù. ¿ÜºÎ¿¡¼­ Book °´Ã¼ÀÇ Writer ¸â¹ö¿¡ Á¢±ÙÇÏ·Á¸é . ¿¬»êÀÚ¸¦ µÎ ¹ø ¿¬°ÅǪ »ç¿ëÇØ¾ß ÇÏÁö¸¸ ->¸¦ ¾²¸é WriterÀÇ ¸â¹ö¸¦ ¸¶Ä¡ Book °´Ã¼ÀÇ ¸â¹öÀÎ °Íó·³ ¹Ù·Î ¾×¼¼½ºÇÒ ¼ö ÀÖ´Ù. ½ÇÇà °á°ú´Â ´ÙÀ½°ú °°´Ù.

 

Á¦¸ñ:È¥ÀÚ ¿¬±¸ÇÏ´Â C/C++, ÀúÀÚ:±è»óÇü, ÀúÀÚ ³ªÀÌ:25¼¼

 

Hyc->NameÀ¸·Î Writer Æ÷ÇÔ °´Ã¼ÀÇ ¸â¹ö¸¦ Àоú´Âµ¥ º¸´Ù½ÃÇÇ NameÀÌ Hyc°´Ã¼ÀÇ ¸â¹öÀÎ °Íó·³ »ç¿ëµÇ°í ÀÖ´Ù. ¿ø·¡ -> ¿¬»êÀÚÀÇ Áº¯¿¡´Â Æ÷ÀÎÅ͸¸ ¿Ã ¼ö ÀÖÁö¸¸ ¿À¹ö·ÎµùµÇ¸é °´Ã¼°¡ ¿Íµµ »ó°ü¾ø´Ù. ¾îÂ÷ÇÇ ¿À¹ö·ÎµùµÈ -> ¿¬»êÀÚ°¡ Æ÷ÀÎÅ͸¦ ¸®ÅÏÇÑ´Ù. ÀÌ Ç¥Çö½ÄÀº ÄÄÆÄÀÏ·¯¿¡ ÀÇÇØ ´ÙÀ½°ú °°ÀÌ ÇØ¼®µÈ´Ù.

 

Hyc.operator->()->Name

 

-> ¿¬»êÀÚ°¡ &Writer¸¦ ¸®ÅÏÇϹǷΠÀÌ Æ÷ÀÎÅͷκÎÅÍ WriterÀÇ ¸â¹ö¸¦ ¹Ù·Î ¾×¼¼½ºÇÒ ¼ö ÀÖ´Ù. Æ÷ÇÔ °´Ã¼ÀÇ ¸â¹ö¸¦ Àбâ À§ÇØ Hyc.Writer.Name ÀÌ·± ½ÄÀ¸·Î . ¿¬»êÀÚ¸¦ µÎ ¹ø »ç¿ëÇÏ´Â °ÍÀº Çã°¡µÇÁö ¾Ê´Âµ¥ Writer°¡ ÇÁ¶óÀ̺ñÆ® ¾×¼¼½º ¼Ó¼ºÀ» °¡Áö°í Àֱ⠶§¹®ÀÌ´Ù. -> ¿¬»êÀÚ´Â ¼û°ÜÁø ¸â¹öÀÇ Æ÷ÀÎÅ͸¦ Àоî Áܰú µ¿½Ã¿¡ ÀÌ ¸â¹ö¿¡ ¼ÓÇÑ ¸â¹ö¸¦ ¹Ù·Î ¾×¼¼½ºÇÒ ¼ö ÀÖµµ·Ï Áß°èÇÏ´Â ¿ªÇÒÀ» ÇÑ´Ù.

-> ¿¬»êÀÚ´Â º¸Åë ½º¸¶Æ® Æ÷ÀÎÅͶó ºÒ¸®´Â Æ÷ÀÎÅ͸¦ Èä³»³»´Â Ŭ·¡½º¸¦ ¸¸µé±â À§ÇØ »ç¿ëµÇ¸ç Æ÷ÀÎÅÍÀÇ À¯È¿¼º Á¡°ËÀ̳ª »ç¿ë Ä«¿îÆ® À¯Áö ±â´ÉÀ» ±¸ÇöÇÑ´Ù. ¾î¶² °´Ã¼¸¦ ·¡ÇÎÇϴ Ŭ·¡½º¸¦ ¸¸µé ¶§ ·¡ÇÎÇÑ °´Ã¼°¡ ·¡ÇÎµÈ °´Ã¼ÀÎ °Íó·³ µ¿ÀÛÇØ¾ß ÇϹǷΠ-> ¿¬»êÀÚ·Î ·¡ÇÎµÈ °´Ã¼ÀÇ ¸â¹ö¸¦ ¹Ù·Î ¾×¼¼½ºÇÒ ¼ö ÀÖ¾î¾ß ÇÏ´Â °ÍÀÌ´Ù.