º¹»ç »ý¼ºÀÚ´Â Áö±Ý±îÁöÀÇ ÆòÀÌÇÑ ³»¿ë¿¡ ºñÇØ ¾à°£ ³À̵µ°¡ ÀÖ´Â ³»¿ëÀ̹ǷΠÁ¤½ÅÀ» ÁýÁßÇØ¼ ÀÐÀ» Çʿ䰡 ÀÖ´Ù. º¯¼ö¸¦ ¼±¾ðÇÒ ¶§ = ±¸ºÐÀÚ ´ÙÀ½¿¡ »ó¼ö·Î ÃʱⰪÀ» ÁöÁ¤ÇÒ ¼ö ÀÖÀ¸¸ç ÀÌ¹Ì »ý¼ºµÇ¾î ÀÖ´Â °°Àº ŸÀÔÀÇ ´Ù¸¥ º¯¼ö·Îµµ ÃʱâÈÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½Àº °¡Àå °£´ÜÇÑ Å¸ÀÔÀÎ Á¤¼öÇüÀÇ ¿¹ÀÌ´Ù.
int a=3;
int b=a;
Á¤¼öÇü º¯¼ö a´Â ¼±¾ðµÊ°ú µ¿½Ã¿¡ 3À¸·Î ÃʱâȵǾú´Ù. ±×¸®°í µ¿ÀÏÇÑ Å¸ÀÔÀÇ Á¤¼öÇü º¯¼ö b´Â ¼±¾ð°ú µ¿½Ã¿¡ a·Î ÃʱâȵǾú´Ù. °á±¹ µÎ º¯¼ö´Â ¸ðµÎ 3ÀÇ °ªÀ» °¡Áö°Ô µÉ °ÍÀÌ´Ù. ³Ê¹« ³Ê¹« »ó½ÄÀûÀÎ ÄÚµåÀ̸ç ÀÌ·± ÃʱâÈ´Â ½Ç¼öÇüÀ̳ª ¹®ÀÚÇü, ±¸Á¶Ã¼ µî¿¡ ´ëÇØ¼µµ ¶È°°ÀÌ Çã¿ëµÈ´Ù. Ŭ·¡½º°¡ int¿Í µ¿ÀÏÇÑ ÀÚ°ÝÀ» °¡Áö´Â ŸÀÔÀÌ µÇ±â À§Çؼ´Â ÀÌ¹Ì »ý¼ºµÇ¾î ÀÖ´Â °°Àº ŸÀÔÀÇ °´Ã¼·ÎºÎÅÍ Ãʱâ鵃 ¼ö ÀÖ¾î¾ß ÇÑ´Ù. °´Ã¼¿¡ ´ëÇØ¼µµ °ú¿¬ ÀÌ·± ÃʱâȰ¡ ¼º¸³ÇÒ ¼ö ÀÖ´ÂÁö Position °´Ã¼·Î Å×½ºÆ®ÇØ º¸±â À§ÇØ Constructor ¿¹Á¦¿¡ ´ÙÀ½ Äڵ带 ÀÛ¼ºÇØ º¸ÀÚ.
Position Here(30,10,'A');
Position There=Here;
There.OutPosition();
Here °´Ã¼°¡ ¸ÕÀú (30,10) À§Ä¡ÀÇ ¹®ÀÚ 'A'¸¦ °¡¸®Å°µµ·Ï ÃʱâȵǾúÀ¸¸ç ÀÌ¾î¼ There°´Ã¼´Â ¼±¾ð°ú µ¿½Ã¿¡ Here°´Ã¼·Î ÃʱâȵǾú´Ù. À̶§ ¸â¹öº° º¹»ç¿¡ ÀÇÇØ There´Â HereÀÇ ¸ðµç ¸â¹ö°ªÀ» ±×´ë·Î º¹»ç¹ÞÀ¸¸ç µÎ °´Ã¼´Â ¿ÏÀüÈ÷ µ¿ÀÏÇÑ °ªÀ» °¡Áö°Ô µÈ´Ù. Position °´Ã¼°¡ ³»ºÎ¿¡ ¸ðµç Á¤º¸¸¦ Æ÷ÇÔÇϰí Àֱ⠶§¹®¿¡ ÀÌ·± ÃʱâÈ´Â ÀüÇô ¹®Á¦°¡ ¾ø´Ù. ±×·¸´Ù¸é ¸ðµç °´Ã¼¿¡ ´ëÇØ ÀÌ·± ÃʱâȰ¡ °¡´ÉÇÑÁö Person °´Ã¼·Îµµ Å×½ºÆ®ÇØ º¸ÀÚ. Person1 ¿¹Á¦ÀÇ main ÇÔ¼ö¿¡ ´ÙÀ½ Å×½ºÆ® Äڵ带 ÀÛ¼ºÇÑ´Ù.
void main()
{
Person Boy("°°¨Âù",22);
Person Young=Boy;
Young.OutPerson();
}
ÀÌ ÄÚµå´Â Á¤»óÀûÀ¸·Î ÄÄÆÄÀÏµÇ¸ç ½ÇÇ൵ µÇÁö¸¸ Á¾·áÇÒ ¶§ ÆÄ±«ÀÚ¿¡¼ ½ÇÇàÁß ¿¡·¯°¡ ¹ß»ýÇϴµ¥ ¿Ö ±×·±Áö º¸ÀÚ. Young °´Ã¼°¡ Boy°´Ã¼·Î Ãʱâ鵃 ¶§ ¸â¹öº° º¹»ç°¡ ¹ß»ýÇϸç YoungÀÇ Name¸â¹ö°¡ BoyÀÇ Name°ú µ¿ÀÏÇÑ ¹øÁö¸¦ °¡¸®Å°°í ÀÖ´Ù. Á¤¼öÇüÀÎ Age³¢¸® °ªÀÌ º¹»çµÇ´Â °ÍÀº ¾Æ¹« ¹®Á¦°¡ ¾øÁö¸¸ Æ÷ÀÎÅͳ¢¸®ÀÇ º¹»ç´Â ¹®Á¦°¡ µÈ´Ù. YoungÀÌ ÃʱâÈµÈ Á÷ÈÄÀÇ ¸Þ¸ð¸® »óȲÀ» ±×¸²À¸·Î ±×·Áº¸¸é ´ÙÀ½°ú °°À¸¸ç µÎ °´Ã¼°¡ Èü¿¡ µ¿Àû ÇÒ´çµÈ ¸Þ¸ð¸®¸¦ °øÀ¯Çϰí ÀÖ´Â ¸ð¾çÀÌ´Ù.
ÀÌ·± »óÅ¿¡¼ Young.OutPersonÀ̳ª Boy.OutPerson ÇÔ¼ö È£ÃâÀº ¾ÆÁÖ Á¤»óÀûÀ¸·Î ½ÇÇàµÈ´Ù. ±×·¯³ª µÎ °´Ã¼°¡ °°Àº ¸Þ¸ð¸®¸¦ °øÀ¯Çϰí Àֱ⠶§¹®¿¡ ÇÑÂÊ¿¡¼ NameÀ» º¯°æÇÏ¸é ´Ù¸¥ Âʵµ ¿µÇâÀ» ¹Þ°Ô µÇ¾î ¼·Î µ¶¸³ÀûÀÌÁö ¸øÇÏ´Ù. ÀÌ °´Ã¼µéÀÌ ÆÄ±«µÉ ¶§ ¹®Á¦°¡ ¹ß»ýÇϴµ¥ °¢ °´Ã¼ÀÇ ÆÄ±«ÀÚ°¡ Name ¹øÁö¸¦ µû·Î ÇØÁ¦Çϱ⠶§¹®ÀÌ´Ù. new´Â BoyÀÇ »ý¼ºÀÚ¿¡¼ ÇÑ ¹ø¸¸ Çß°í delete´Â °¢ °´Ã¼ÀÇ ÆÄ±«ÀÚ¿¡¼ µÎ ¹ø ½ÇÇàÇϱ⠶§¹®¿¡ ÀÌ¹Ì ÇØÁ¦µÈ ¸Þ¸ð¸®¸¦ ´Ù½Ã ÇØÁ¦ÇÏ·Á°í ½ÃµµÇϹǷΠ½ÇÇàÁß ¿¡·¯°¡ µÈ´Ù. Á¤¼öÇüÀº ¾î¶²Áö º¸ÀÚ.
int a=3;
int b=a;
b=5;
b°¡ »ý¼ºµÉ ¶§ aÀÇ °ªÀ¸·Î ÃʱâȵǾî a¿Í b´Â °°Àº °ªÀ» °¡Áø´Ù. ±×·¯³ª ÀÌ´Â ¾îµð±îÁö³ª Ãʱâ鵃 ¶§ Àá½Ã¸¸ °°À» »ÓÀÌÁö µÎ º¯¼ö´Â ÀÌÈÄ ¿ÏÀüÈ÷ µ¶¸³ÀûÀ¸·Î µ¿ÀÛÇÑ´Ù. b¿¡ 5¸¦ ´ëÀÔÇÑ´Ù°í ÇØ¼ a°¡ ÀÌ ´ëÀÔÀÇ ¿µÇâÀ» ¹ÞÁö ¾ÊÀ¸¸ç a¿¡ ¹«½¼ ÁþÀ» ÇÏ´õ¶óµµ b¸¦ ¾îÂîÇÒ ¼ö´Â ¾ø´Ù. Á¤¼öÇüÀÇ º¹»ç »ý¼ºÀÌ ÀÌó·³ µ¶¸³ÀûÀ̹ǷΠ»ç¿ëÀÚ Á¤ÀÇÇüµµ ÀÌ¿Í ¶È°°ÀÌ º¹»ç »ý¼ºÀ» ÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù.
Person Young=Boy; ¼±¾ð¹®¿¡ ÀÇÇØ YoungÀº BoyÀÇ ¸â¹ö°ªÀ» º¹»ç¹ÞÁö¸¸ ÀÌ ¶§ÀÇ º¹»ç´Â Æ÷ÀÎÅ͸¦ ±×´ë·Î º¹»çÇÏ´Â ¾èÀº º¹»çÀÌ´Ù. µû¶ó¼ YoungÀº ÀϽÃÀûÀ¸·Î Boy¿Í °°Àº °ªÀ» °¡ÁöÁö¸¸ BoyÀÇ NameÀ» ºô·Á¼ Á¤º¸¸¦ Ç¥ÇöÇÏ´Â ºÒ¿ÏÀüÇÑ °´Ã¼ÀÌ¸ç µ¶¸³ÀûÀÌÁö ¸øÇÏ´Ù. ÀÌ ¹®Á¦¸¦ ÇØ°áÇÏ·Á¸é ÃʱâÈÇÒ ¶§ ¾èÀº º¹»ç¸¦ ÇØ¼´Â ¾ÈµÇ¸ç ±íÀº º¹»ç¸¦ ÇØ¾ß Çϴµ¥ À̶§ º¹»ç »ý¼ºÀÚ°¡ ÇÊ¿äÇÏ´Ù. ¾èÀº º¹»ç°¡ ¹®Á¦ÀÇ ¿øÀÎÀ̾úÀ¸¹Ç·Î ±íÀº º¹»ç¸¦ ÇÏ´Â º¹»ç »ý¼ºÀÚ¸¦ ¸¸µé¾î ÇØ°áÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ ¿¹Á¦´Â Person1¿¹Á¦¸¦ ¼öÁ¤ÇÏ¿© Person Ŭ·¡½º¿¡ º¹»ç »ý¼ºÀÚ¸¦ Ãß°¡ÇÑ °ÍÀÌ´Ù.
¿¹ Á¦ : Person2 |
#include <Turboc.h>
class Person
{
private:
char *Name;
int Age;
public:
Person(const char *aName, int aAge) {
Name=new char[strlen(aName)+1];
strcpy(Name,aName);
Age=aAge;
}
Person(const Person &Other) {
Name=new char[strlen(Other.Name)+1];
strcpy(Name,Other.Name);
Age=Other.Age;
}
~Person() {
delete [] Name;
}
void OutPerson() {
printf("À̸§ : %s ³ªÀÌ : %d\n",Name,Age);
}
};
void main()
{
Person Boy("°°¨Âù",22);
Person Young=Boy;
Young.OutPerson();
}
º¹»ç »ý¼ºÀÚ´Â ÀڽŰú °°Àº ŸÀÔÀÇ ´Ù¸¥ °´Ã¼¿¡ ´ëÇÑ ·¹ÆÛ·±½º¸¦ Àü´Þ¹Þ¾Æ ÀÌ ·¹ÆÛ·±½º·ÎºÎÅÍ ÀÚ½ÅÀ» ÃʱâÈÇÑ´Ù. Personº¹»ç »ý¼ºÀÚ´Â µ¿ÀÏÇÑ Å¸ÀÔÀÇ Other¸¦ Àμö·Î Àü´Þ¹Þ¾Æ ÀÚ½ÅÀÇ Name¿¡ Other.NameÀÇ ±æÀ̸¸Å ¹öÆÛ¸¦ »õ·Î ÇÒ´çÇÏ¿© º¹»çÇÑ´Ù. »õ·Î ¸Þ¸ð¸®¸¦ ÇÒ´çÇØ¼ ³»¿ëÀ» º¹»çÇßÀ¸¹Ç·Î ÀÌ ¸Þ¸ð¸®´Â ¿ÏÀüÇÑ Àڱ⠰ÍÀÌ¸ç ¾ÈÀüÇÏ°Ô µû·Î °ü¸®ÇÒ ¼ö ÀÖ´Ù. Age´Â ¹°·Ð ´Ü¼ø º¯¼öÀ̹ǷΠ°ª¸¸ ´ëÀÔ¹ÞÀ¸¸é µÈ´Ù.
ÄÄÆÄÀÏ·¯´Â Person Young=Boy; ±¸¹®À» Person Young=Person(Boy);·Î ÇØ¼®Çϴµ¥ ÀÌ ¿øÇü¿¡ ¸Â´Â »ý¼ºÀÚÀÎ º¹»ç »ý¼ºÀÚ¸¦ È£ÃâÇÑ´Ù. ½ÇÀμö Boy°¡ Person °´Ã¼À̹ǷΠPersonÀ» Àμö·Î ¹Þ¾ÆµéÀÌ´Â »ý¼ºÀÚ ÇÔ¼ö¸¦ È£ÃâÇÒ °ÍÀÌ´Ù. º¹»ç »ý¼ºÀÚ¿¡ ÀÇÇØ YoungÀº ±íÀº º¹»ç¸¦ ÇÏ¸ç ¸Þ¸ð¸®¿¡ ´ÙÀ½°ú °°ÀÌ ¿ÏÀüÇÑ »çº»À» ÀÛ¼ºÇÑ´Ù.
ÀÌÁ¦ Young°ú Boy´Â ŸÀÔ¸¸ °°À» »Ó ¿ÏÀüÈ÷ ´Ù¸¥ °´Ã¼ÀÌ°í ¸Þ¸ð¸®µµ µû·Î ¼ÒÀ¯ÇϹǷΠ°¢ÀÚÀÇ NameÀ» ¸¶À½´ë·Î ¹Ù²Ü ¼ö ÀÖ°í ÆÄ±«ÀÚ¿¡¼ ¸Þ¸ð¸®¸¦ ÇØÁ¦Çصµ ¹®Á¦°¡ ¾ø´Ù. º¹»ç »ý¼ºÀÚ¿¡ ÀÇÇØ µÎ °´Ã¼°¡ ¿ÏÀüÇÑ µ¶¸³¼ºÀ» ¾òÀº °ÍÀÌ´Ù.
º¹»ç »ý¼ºÀÚÀÇ ÀÓ¹«´Â »õ·Î »ý¼ºµÇ´Â °´Ã¼°¡ ¿øº»°ú ¶È°°À¸¸é¼ ¿ÏÀüÇÑ µ¶¸³¼ºÀ» °¡Áöµµ·Ï ÇÏ´Â °ÍÀÌ´Ù. ¸¸¾à °´Ã¼°¡ µ¥ÀÌÅÍ º£À̽º¸¦ »ç¿ëÇÑ´Ù¸é ÀÌ Å¬·¡½ºÀÇ º¹»ç »ý¼ºÀÚ´Â »õ °´Ã¼¸¦ À§ÇÑ º°µµÀÇ µ¥ÀÌÅÍ º£À̽º ¿¬°áÀ» ÇØ¾ß ÇÏ¸ç µ¶Á¡ÀûÀÎ ÀÚ¿øÀ» ÇÊ¿ä·Î ÇÑ´Ù¸é ¸¶Âù°¡Áö·Î º°µµÀÇ ÀÚ¿øÀ» ÇÒ´çÇØ¾ß ÇÑ´Ù. ±×·¡¾ß Class A=B; ¼±¾ð¹®¿¡ ÀÇÇØ A°¡ B¿¡ ´ëÇØ µ¶¸³ÀûÀ¸·Î ÃʱâȵȴÙ.
°°Àº Á¾·ùÀÇ ´Ù¸¥ °´Ã¼·Î »õ °´Ã¼¸¦ ¼±¾ðÇÏ´Â °æ¿ì´Â ±×¸® ÈçÇÏÁö ¾Ê´Ù. ±×·¯³ª ´ÙÀ½°ú °°ÀÌ ÇÔ¼öÀÇ Àμö·Î °´Ã¼¸¦ ³Ñ±â´Â °æ¿ì´Â ¾ÆÁÖ ÈçÇѵ¥ À̶§µµ º¹»ç »ý¼ºÀÚ°¡ È£ÃâµÈ´Ù.
void PrintAbout(Person AnyBody)
{
AnyBody.OutPerson();
}
void main()
{
Person Boy("°°¨Âù",22);
PrintAbout(Boy);
}
ÇÔ¼ö È£Ãâ °úÁ¤¿¡¼ Çü½Ä Àμö°¡ ½ÇÀμö·Î Àü´ÞµÇ´Â °ÍÀº ÀÏÁ¾ÀÇ º¹»ç»ý¼ºÀÌ´Ù. ÇÔ¼ö ³»ºÎ¿¡¼ »õ·Î »ý¼ºµÇ´Â Çü½ÄÀμö AnyBody°¡ ½ÇÀμö Boy¸¦ ´ëÀÔ¹ÞÀ¸¸é¼ ÃʱâȵǴµ¥ À̶§ º¹»ç »ý¼ºÀÚ°¡ ¾ø´Ù¸é AnyBody°¡ Boy¸¦ ¾èÀº º¹»çÇÏ¸ç µÎ °´Ã¼°¡ µ¿Àû ¹öÆÛ¸¦ °øÀ¯ÇÏ´Â »óȲÀÌ µÈ´Ù. AnyBody´Â Áö¿ªº¯¼öÀ̹ǷΠPrintAbout ÇÔ¼ö°¡ ¸®Å쵃 ¶§ AnyBodyÀÇ ÆÄ±«ÀÚ°¡ È£ÃâµÇ°í À̶§ µ¿Àû ÇÒ´çµÈ ¸Þ¸ð¸®°¡ ÇØÁ¦µÈ´Ù. ÀÌÈÄ Boy°¡ ¸Þ¸ð¸®¸¦ Á¤¸®ÇÒ ¶§´Â ÀÌ¹Ì ÇØÁ¦µÈ ¸Þ¸ð¸®¸¦ ÂüÁ¶Çϰí ÀÖÀ¸¹Ç·Î ¿¡·¯°¡ ¹ß»ýÇÒ °ÍÀÌ´Ù.
º¹»ç »ý¼ºÀÚ°¡ Á¤ÀǵǾî ÀÖÀ¸¸é AnyBody°¡ Boy¸¦ ±íÀº º¹»çÇϹǷΠ¾Æ¹«·± ¹®Á¦°¡ ¾ø´Ù. °´Ã¼°¡ Àμö·Î Àü´ÞµÉ ¶§ »Ó¸¸ ¾Æ´Ï¶ó ¸®ÅϰªÀ¸·Î µ¹·ÁÁú ¶§µµ º¹»ç »ý¼ºÀÚ°¡ È£ÃâµÈ´Ù. À§ Å×½ºÆ® Äڵ带 Person2 ¿¹Á¦¿¡ ÀÛ¼ºÇØ ³õ°í ½ÇÇàÇϸé Á¤»óÀûÀ¸·Î ½ÇÇàµÈ´Ù. ±×·¯³ª º¹»ç »ý¼ºÀÚ¸¦ ÁÖ¼®À¸·Î ¹¾î ¹ö¸®¸é ´Ù¿îµÈ´Ù. ÇÔ¼öÀÇ Àμö·Î »ç¿ëµÇ°Å³ª ¸®ÅϰªÀ¸·Î »ç¿ëµÇ´Â °´Ã¼´Â ¹Ýµå½Ã º¹»ç »ý¼ºÀÚ¸¦ Á¦´ë·Î Á¤ÀÇÇØ¾ß ÇÑ´Ù.
º¹»ç »ý¼ºÀÚÀÇ Àμö´Â ¹Ýµå½Ã °´Ã¼ÀÇ ·¹ÆÛ·±½º¿©¾ß ÇÏ¸ç °´Ã¼¸¦ Àμö·Î ÃëÇÒ ¼ö´Â ¾ø´Ù. ¸¸¾à ´ÙÀ½°ú °°ÀÌ PersonÇüÀÇ °´Ã¼¸¦ Àμö·Î ¹Þ¾ÆµéÀδٰí ÇØ º¸ÀÚ.
Person(const Person Other)
{
Name=new char[strlen(Other.Name)+1];
strcpy(Name,Other.Name);
Age=Other.Age;
}
º¹»ç »ý¼ºÀÚ Àڽŵµ ÇÔ¼öÀ̹ǷΠ½ÇÀμö¸¦ Àü´ÞÇÒ ¶§ °ªÀÇ º¹»ç°¡ ¹ß»ýÇÒ °ÍÀÌ´Ù. °´Ã¼ ÀÚü¸¦ Àμö·Î Àü´ÞÇÏ¸é º¹»ç »ý¼ºÀÚ·Î Àμö¸¦ ³Ñ±â´Â °úÁ¤¿¡¼ ´Ù½Ã º¹»ç »ý¼ºÀÚ°¡ È£ÃâµÉ °ÍÀ̰í ÀÌ º¹»ç »ý¼ºÀÚ´Â Àμö¸¦ ¹Þ±â À§ÇØ ¶Ç ´Ù½Ã º¹»ç »ý¼ºÀÚ¸¦ È£ÃâÇÑ´Ù. °á±¹ ÀڱⰡ ÀÚ½ÅÀ» Á¾·áÁ¶°Ç¾øÀÌ È£ÃâÇØ´ë´Â ¹«ÇÑ Àç±Í È£ÃâÀÌ ¹ß»ýÇÒ °ÍÀ̸ç ÄÄÆÄÀÏ·¯´Â ÀÌ·± »óȲÀ» ¹æ°üÇÏÁö ¾Ê°í ¿¡·¯·Î ó¸®ÇÑ´Ù.
ÀÌ·± ÀÌÀ¯·Î º¹»ç »ý¼ºÀÚÀÇ Àμö·Î °´Ã¼¸¦ Àü´ÞÇÒ ¼ö´Â ¾ø´Ù. ±×·¸´Ù¸é Æ÷ÀÎÅÍÀÇ °æ¿ì´Â ¾î¶³±î? Æ÷ÀÎÅÍ´Â ¾îµð±îÁö³ª °´Ã¼¸¦ °¡¸®Å°´Â ¹øÁö°ªÀ̹ǷΠÇÑ ¹ø¸¸ º¹»çµÇ¸ç ¹«ÇÑ È£ÃâµÇÁö ¾Ê´Â´Ù. ¶ÇÇÑ °´Ã¼°¡ ¾Æ¹«¸® °Å´ëÇØµµ ´Ü 4¹ÙÀÌÆ®¸¸ Àü´ÞµÇ¹Ç·Î ¼Óµµµµ ºü¸£´Ù. º¹»ç »ý¼ºÀÚ°¡ °´Ã¼ÀÇ Æ÷ÀÎÅ͸¦ Àü´Þ¹Þµµ·Ï ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇØ º¸ÀÚ.
Person(const Person *Other) {
Name=new char[strlen(Other->Name)+1];
strcpy(Name,Other->Name);
Age=Other->Age;
}
OtherÀÇ Å¸ÀÔÀÌ Person *·Î ¹Ù²î¾ú°í º»Ã¼¿¡¼ OtherÀÇ ¸â¹ö¸¦ ÂüÁ¶ÇÒ ¶§ . ¿¬»êÀÚ ´ë½Å -> ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¸é µÈ´Ù. ±×·¯³ª ÀÌ·¸°Ô Çϸé Person Young=Boy; ¼±¾ð¹®ÀÌ ¾Ï½ÃÀûÀ¸·Î È£ÃâÇÏ´Â »ý¼ºÀÚÀÎ Person(Boy)¿Í ¿øÇüÀÌ ¸ÂÁö ¾Ê´Ù. »ç½Ç Æ÷ÀÎÅ͸¦ ÃëÇÏ´Â »ý¼ºÀÚ´Â º¹»ç »ý¼ºÀÚ·Î ÀÎÁ¤µÇÁöµµ ¾Ê´Â´Ù. ²À Æ÷ÀÎÅÍ·Î °´Ã¼¸¦ º¹»çÇÏ·Á¸é mainÀÇ °´Ã¼ ¼±¾ð¹®ÀÌ Person Young=&Boy;°¡ µÇ¾î¾ß Çϴµ¥ ±×·¡¾ß Person º¹»ç »ý¼ºÀÚ·Î BoyÀÇ ¹øÁö°¡ Àü´ÞµÈ´Ù. main ÇÔ¼ö±îÁö °°ÀÌ ¼öÁ¤Çϸé Á¤»óÀûÀ¸·Î Àß µ¿ÀÛÇÑ´Ù.
±×·¯³ª ÀÌ´Â ÀϹÝÀûÀÎ º¯¼ö ¼±¾ð¹®°ú Çü½ÄÀÌ ÀÏÄ¡ÇÏÁö ¾Ê´Â´Ù. ±âº» ŸÀÔÀÇ º¹»ç »ý¼º¹®À» º¸¸é int i=j; ¶ó°í ÇÏÁö int i=&j;¶ó°í ¼±¾ðÇÏÁö´Â ¾Ê´Â´Ù. Áï Æ÷ÀÎÅ͸¦ ÅëÇÑ °´Ã¼ º¹»ç ±¸¹®Àº C ÇÁ·Î±×·¡¸Ó°¡ ¾Ë°í ÀÖ´Â »ó½ÄÀûÀÎ º¯¼ö ¼±¾ð¹®°ú´Â Ʋ¸®´Ù. Ŭ·¡½º°¡ ±âº»Çü°ú ¿ÏÀüÈ÷ °°Àº ÀÚ°ÝÀÇ Å¸ÀÔÀÌ µÇ·Á¸é int i=j; ½ÄÀ¸·Î ¼±¾ðÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù.
±×·¡¼ °´Ã¼ À̸§¿¡ ´ëÇØ ÀÚµ¿À¸·Î &¸¦ ºÙÀ̰í ÇÔ¼ö ³»ºÎ¿¡¼´Â Àü´Þ¹ÞÀº Æ÷ÀÎÅÍ¿¡ ¾Ï½ÃÀûÀ¸·Î *¿¬»êÀÚ¸¦ Àû¿ëÇÏ´Â ·¹ÆÛ·±½º¶ó´Â °ÍÀÌ ÇÊ¿äÇØÁ³´Ù. º¹»ç »ý¼ºÀÚ°¡ °´Ã¼ÀÇ ·¹ÆÛ·±½º¸¦ ¹ÞÀ¸¸é Young=Boy¶ó°í ½áµµ ½ÇÁ¦·Î´Â Æ÷ÀÎÅÍÀÎ &Boy°¡ Àü´ÞµÇ¾î ¼Óµµ ÀúÇϳª ¹«ÇÑ È£Ãâ¾øÀÌ ±âº» ŸÀÔ°ú ¶È°°Àº Çü½ÄÀÇ ¼±¾ðÀÌ °¡´ÉÇÏ´Ù. ÀÌÈÄ °øºÎÇÏ°Ô µÉ ¿¬»êÀÚ ¿À¹ö·Îµù¿¡µµ ¶È°°Àº ÀÌÀ¯·Î ·¹ÆÛ·±½º°¡ Ȱ¿ëµÈ´Ù. C¿¡¼´Â ²À ÇÊ¿äÄ¡ ¾Ê¾Ò´ø ·¹ÆÛ·±½º¶ó´Â °³³äÀÌ C++¿¡¼´Â ÇÊ¿äÇØÁø ÀÌÀ¯°¡ °´Ã¼ÀÇ ¼±¾ð¹®, ¿¬»ê¹®À» ±âº» ŸÀÔ°ú ¿ÏÀüÈ÷ ÀÏÄ¡½Ã۱â À§ÇؼÀÌ´Ù.
º¹»ç »ý¼ºÀÚ·Î Àü´ÞµÇ´Â Àμö´Â »ó¼öÀÏ ¼öµµ ÀÖ°í ¾Æ´Ò ¼öµµ Àִµ¥ ³»ºÎ¿¡¼ Àб⸸ ÇϹǷΠ°³³äÀûÀ¸·Î »ó¼ö ¼Ó¼ºÀ» ÁÖ´Â °ÍÀÌ ¿Ç´Ù. int i=j; ¿¬»ê ÈÄ jÀÇ °ªÀÌ ±×´ë·Î À¯ÁöµÇ¾î¾ß ÇÑ´Ù. °á·Ð¸¸ ¿ä¾àÇÏÀÚ¸é Class Ŭ·¡½ºÀÇ º¹»ç »ý¼ºÀÚ ¿øÇüÀº Class(const Class &)¿©¾ß ÇÑ´Ù.
Ŭ·¡½º°¡ º¹»ç »ý¼ºÀÚ¸¦ Á¤ÀÇÇÏÁö ¾ÊÀ¸¸é ÄÄÆÄÀÏ·¯°¡ µðÆúÆ® º¹»ç »ý¼ºÀÚ¸¦ ¸¸µç´Ù. ÄÄÆÄÀÏ·¯°¡ ¸¸µå´Â µðÆúÆ® º¹»ç »ý¼ºÀÚ´Â ¸â¹ö³¢¸® 1:1·Î º¹»çÇÔÀ¸·Î½á ¿øº»°ú ¿ÏÀüÈ÷ °°Àº »çº»À» ¸¸µé±â¸¸ ÇÒ »Ó ±íÀº º¹»ç¸¦ ÇÏÁö´Â ¾Ê´Â´Ù. ¸¸¾à µðÆúÆ® º¹»ç »ý¼ºÀÚ¸¸À¸·Î ÃæºÐÇÏ´Ù¸é(Position Ŭ·¡½ºÀÇ °æ¿ì) ±»ÀÌ º¹»ç »ý¼ºÀÚ¸¦ µû·Î Á¤ÀÇÇÒ ÇÊ¿ä´Â ¾ø´Ù. À̶§ ¸¸µé¾îÁö´Â µðÆúÆ® º¹»ç »ý¼ºÀÚ´Â ´ÙÀ½°ú °°À» °ÍÀÌ´Ù.
Position(const Position &Other) {
x=Other.x;
y=Other.y;
ch=Other.ch;
}
´ëÀÀµÇ´Â ¸â¹ö³¢¸® ±×´ë·Î ´ëÀÔÇϴµ¥ ÀüºÎ ´Ü¼ø ŸÀÔÀ̶ó ´ëÀÔ¸¸ Çϸé Àß º¹»çµÈ´Ù. ÀÌ·± µðÆúÆ® º¹»ç »ý¼ºÀÚ°¡ Àֱ⠶§¹®¿¡ º°µµÀÇ Á¶Ä¡°¡ ¾ø¾îµµ Position There=Here°¡ Àß µ¿ÀÛÇÏ´Â °ÍÀÌ´Ù.
¶ÇÇÑ Class A=B; ½ÄÀÇ ¼±¾ðÀ» ÇÏÁö ¾Ê°Å³ª °´Ã¼¸¦ ÇÔ¼öÀÇ Àμö·Î »ç¿ëÇÒ ÀÏÀÌ ÀüÇô ¾ø´Ù´Â °ÍÀÌ È®½ÇÇÏ´Ù¸é À̶§µµ º¹»ç »ý¼ºÀÚ°¡ ÇÊ¿ä¾ø´Ù. ±×·¯³ª ÀÌ·± °¡Á¤Àº ¹«Ã´ À§ÇèÇÒ ¼ö ÀÖ´Ù. ¿Ö³ÄÇϸé Ŭ·¡½ºÀÇ »ç¿ëÀڴ Ŭ·¡½º°¡ ÀÏ¹Ý Å¸ÀÔ°ú µ¿µîÇϹǷΠint, double¿¡¼ °¡´ÉÇÑ ÀϵéÀº Ŭ·¡½º¿¡ ´ëÇØ¼µµ ¸ðµÎ °¡´ÉÇÏ´Ù°í ±â´ëÇÏ¸ç ½ÇÁ¦·Î ±×·± Äڵ带 ÀÛ¼ºÇϱ⠶§¹®ÀÌ´Ù. ÀÌ ±â´ë¿¡ ºÎÀÀÇϱâ À§ÇØ Å¬·¡½º´Â ¸ðµç ¸é¿¡¼ ±âº» ŸÀÔ°ú ¿ÏÀüÈ÷ °°¾Æ¾ß ÇÑ´Ù.
Person2 ¿¹Á¦¿¡¼ º¹»ç »ý¼ºÀÚ¸¦ Á¤ÀÇÇÔÀ¸·Î½á Person Ŭ·¡½º´Â ÀÌ¹Ì »ý¼ºµÈ °´Ã¼·ÎºÎÅÍ »õ·Î¿î °´Ã¼¸¦ ¼±¾ðÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù. Person Ŭ·¡½º°¡ Á¡Á¡ ±âº» ŸÀÔ°ú °°¾ÆÁö°í ÀÖÁö¸¸ ÀÌ Å¬·¡½º´Â ¾ÆÁ÷±îÁöµµ ºÒ¿ÏÀüÇÏ´Ù. Person Ŭ·¡½º°¡ ¿ÏÀüÇÑ Å¸ÀÔÀÌ µÇ·Á¸é ´ëÀÔ ¿¬»êÀÚ¸¦ ÀçÁ¤ÀÇÇØ¾ß Çϴµ¥ ÀÌ ½Ç½ÀÀº ´ÙÀ½¿¡ ´Ù½Ã ÇØ º¸µµ·Ï ÇÏÀÚ.