C °³¹ßÀÚ¸¦ À§ÇÑ C++
C °³¹ßÀÚ¸¦ À§ÇÑ C++
1. C++ Àº C ¾ð¾î ±â¹ÝÀÌ´Ù.
C++Àº C¸¦ Æ÷ÇÔÇÏ´Â ÀüÇô »õ·Î¿î ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÌ´Ù. °´Ã¼
ÁöÇâÀ» ÇÏ·Á¸é C·Î´Â ÇÒ ¼ö ¾ø°í C++·Î ÇØ¾ß¸¸ ÇÑ´Ù. ÀÌ ¸»µéÀº ¸ðµÎ À߸øµÈ ÀÌÇØÀÔ´Ï´Ù.
C++Àº C¸¦ ±â¹ÝÀ¸·Î ÇÏ´Â ¾ð¾îÀÔ´Ï´Ù. C¿Í ´Ù¸¥
ÀüÇô º°°³ÀÇ »õ·Î¿î ¾ð¾î°¡ ¾Æ´Õ´Ï´Ù. C++Àº 1983³â AT&T º§ ¿¬±¸¼Ò¿¡¼ ¸¸µé¾ú´Ù´Âµ¥
¿ø·¡ À̸§Àº C with Classes ¿´½À´Ï´Ù. C¿Í ÀüÇô ´Ù¸¥°Ô ¾Æ´Ï¶ó C¿Í °°Àºµ¥ °Å±â¿¡
ÄÚµùÀÇ ÀÚµ¿È ±â´ÉÀ» Ãß°¡ÇÑ °ÍÀÌ´Ù°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹°·Ð °³³äÀûÀ¸·Î´Â C++Àº
C¸¦ Æ÷ÇÔÇÏ´Â ´õ Å« ÁýÇÕÀÌ°í µÑ °£ÀÇ ±³ÁýÇÕÀÌ ¿ÂÀüÇÑ C¾ð¾î°¡ µË´Ï´Ù.
C¾ð¾î < C++ ¾ð¾î
ÇÏÁö¸¸ C++Àº C¾ð¾î¿¡´Ù°¡ Ãß»óÀûÀÎ °³³äÀÌ ´õÇØÁø
°ÍÀÏ»Ó º°°³ÀÇ ½Çü´Â ¾ø½À´Ï´Ù. ±× ½Çü´Â ³»ºÎÀûÀ¸·Î´Â ¸ðµÎ C¸¦ ÅëÇØ ±¸ÇöµË´Ï´Ù. C
¼Ò½º¸¦ ÄÄÆÄÀÏ Çϸé
C ¼Ò½º --> ¾î¼Àºí¸® ¼Ò½º
--> ±â°è¾î
¿Í °°ÀÌ º¯È¯ µË´Ï´Ù. ±×·¸´Ù¸é C++ ¼Ò½º¸¦
ÄÄÆÄÀÏ Çϸé
C++ ¼Ò½º(Ãß»óÀû) --> C ¼Ò½º(½ÇüÈ) -->
¾î¼Àºí¸® ¼Ò½º --> ±â°è¾î
ÀÌ·¸°Ô º¯È¯µÈ´Ù°í ÇÒ ¼ö ÀÖ½À´Ï´Ù.
2. Ŭ·¡½º(Class)
C++ÀÇ ´ëÇ¥ÀûÀÎ °³³äÀ¸·Î class °¡ ÀÖ½À´Ï´Ù. óÀ½
¹è¿ï ¶§´Â »ý¼ÒÇÏ°í ¾î·Æ°Ô ´À²¸Áö´Â °³³äÀÔ´Ï´Ù. ÇÏÁö¸¸ C++Àº C ±â¹ÝÀ̶ó°í
Çß½À´Ï´Ù.
class MyClass { char
a; void function1(); };
±âº»ÀûÀÎ class ´Â À§¿Í °°ÀÌ ¼±¾ðµË´Ï´Ù. À̸¦
C¾ð¾î·Î ¹Ù²Ù¸é ´ÙÀ½°ú °°½À´Ï´Ù.
typedef struct { char
a; void (*function1)(); }
MyClass;
Áï, class ¶õ typedef
struct ¿Í °°´Ù ÂëÀ¸·Î ÀÌÇØÇÏ½Ã¸é µË´Ï´Ù. »ç¿ëÇÒ ¶§´Â µÑ ´Ù °°½À´Ï´Ù.
C¿¡¼´Â ¸ÕÀú ÇÔ¼ö Æ÷ÀÎÅÍÀÇ °ªÀ» ÁöÁ¤ÇØ Áà¾ß °ÚÁö¸¸¿ä. ´ÙÀ½°ú °°ÀÌ ÇØÁÖ¸é
º¯¼ö°¡ »ý¼ºµË´Ï´Ù.
MyClass obj;
ÇÏÁö¸¸ class¿¡´Â ¸î °¡Áö °³³äµéÀÌ Ãß°¡µÇ¾î ÀÖ½À´Ï´Ù. ´ëÇ¥ÀûÀ¸·Î
»ý¼ºÀÚ, ¼Ò¸êÀÚ, ĸ½¶È(Encapsulation), »ó¼Ó(Inheritance) µîÀÌ ÀÖ½À´Ï´Ù.
3. »ý¼ºÀÚ¿Í ¼Ò¸êÀÚ
»ý¼ºÀÚ¿Í ¼Ò¸êÀÚ´Â °¢°¢ class º¯¼ö°¡ »ý¼ºµÉ ¶§³ª
¼ö¸íÀ» ´ÙÇÏ°í ¸Þ¸ð¸®¿¡¼ Á¦°Å µÉ ¶§ ÀÚµ¿À¸·Î È£ÃâµÇ´Â ÇÔ¼öÀÔ´Ï´Ù. º¸Åë
»ý¼ºÀÚ¿¡´Â class¿¡¼ »ç¿ëÇÏ´Â º¯¼öÀÇ ÃʱâÈ Äڵ带 ŸÀÌÇÎÇØ ³Ö½À´Ï´Ù. ±×¸®°í
¼Ò¸êÀÚ¿¡´Â µ¿ÀûÀ¸·Î ÇÒ´çÇÑ ¸Þ¸ð¸®¸¦ ¹ÝȯÇÏ´Â Äڵ带 ŸÀÌÇÎÇØ ³Ö½À´Ï´Ù.
class MyClass { char
a; void function1();
public: void
MyClass(); void ~MyClass(); };
À§ ¿¡¼ class ÀÇ À̸§°ú µ¿ÀÏÇÑ À̸§ÀÇ MyClass()
ÇÔ¼ö°¡ »ý¼ºÀÚÀ̰í class À̸§ ¾Õ¿¡ ~°¡ ºÙÀº ~MyClass() ÇÔ¼ö°¡ ¼Ò¸êÀÚ ÀÔ´Ï´Ù.
C++¿¡¼´Â class º¯¼ö¸¦ »ç¿ëÇÒ ¶§
MyClass obj;
ÀÌ·¸°Ô º¯¼ö ¼±¾ð¸¸ ÇØ ÁÖ¸é Á¦ÀÏ ¸ÕÀú ÀÚµ¿À¸·Î
»ý¼ºÀÚÀÎ MyClass() ÇÔ¼ö¸¦ È£ÃâÇÕ´Ï´Ù. ±×¸®°í ¸Þ¸ð¸®¿¡¼ Á¦°Å µÉ ¶§´Â ÀÚµ¿À¸·Î
¼Ò¸êÀÚÀÎ ~MyClass() ÇÔ¼ö¸¦ È£ÃâÇØ ÁÝ´Ï´Ù.
±×·±µ¥ ÀÚµ¿À̶ó´Â°Ô ¹»±î¿ä? C++ ³»ºÎÀûÀ¸·Î´Â
ÀÚµ¿À̶õ°Ô ¾ø½À´Ï´Ù. ÄÄÆÄÀÏ ÇÏ·Á¸é ½Çü°¡ ÀÖ¾î¾ß ÄÄÆÄÀÏÀ» ÇÒ ¼ö Àֱ⠶§¹®ÀÔ´Ï´Ù. »ç½Ç
Äڵ尡 ´«¿¡ º¸ÀÌÁö ¾ÊÀ» »ÓÀÌÁö ÇÊ¿äÇÑ °÷°÷¿¡ º¸ÀÌÁö ¾Ê´Â Äڵ带 ÀÚµ¿À¸·Î »ðÀÔÇØ
ÁÖ´Â °Ì´Ï´Ù. À̸¦ C·Î Ç¥ÇöÇÏ¸é ´ÙÀ½°ú °°½À´Ï´Ù.
typedef struct { char
a; void (*function1)(); void
(*createMyClass)(void *pObj); void
(*deleteMyClass)(void *pObj); } MyClass;
MyClass obj;
obj.createMyClass(&obj); //--
»ý¼ºÀÚ¿Í °°Àº ¿ªÇÒ ....... //¸¶Áö¸·À¸·Î obj
»ç¿ëÀÌ ¿Ï·áµÈ ÈÄ obj.deleteMyClass(&obj); //-- ¼Ò¸êÀÚ¿Í
°°Àº ¿ªÇÒ
class ¶ó´Â Æû³ª´Â °³³äÀ» ¸¸µé¾ú´Âµ¥ class µ¥ÀÌÅÍ
Ãʱâȳª ¼Ò¸ê ±â´ÉÀ» ÀÏÀÏÈ÷ ŸÀÌÇÎ ÇÏ¸é ³Ê¹« ¾ø¾î º¸ÀÔ´Ï´Ù. ±×·¯´Ï »ý¼ºÀÚ¿Í
¼Ò¸êÀÚ¶ó´Â °³³äÀ» ¸¸µé¾î ÀÏÀÏÈ÷ ŸÀÌÇÎ ÇÒ ÇÊ¿ä ¾øÀÌ ÀÚµ¿À¸·Î È£ÃâÇϵµ·Ï ¸¸µé¾ú½À´Ï´Ù. ÇÏÁö¸¸
¾îµð±îÁö³ª È£ÃâÇÏ´Â ºÎºÐÀÌ ´«¿¡ º¸ÀÌÁö¸¸ ¾ÊÀ»»Ó ÄÄÆÄÀÏ ½Ã¿¡´Â À§Ã³·³ ¸¸µé¾î
Áú °Ì´Ï´Ù.
4. ĸ½¶È(Encapsulation)
ĸ½¶È´Â class ¿ÜºÎ¿¡ µ¥ÀÌÅͳª ÇÔ¼ö¸¦ °¨Ãß´Â(Àº´ÐÇÏ´Â)
±â´ÉÀÔ´Ï´Ù. class ³»ºÎ¿¡¼¸¸ »ç¿ëÇÏ´Â º¯¼ö³ª ÇÔ¼ö¸¦ ¿ÜºÎ¿¡ ³ëÃâÇÒ Çʿ䰡
¾ø½À´Ï´Ù. ¿©·¯ ¸íÀÌ ÆÀÀ¸·Î °³¹ßÇÒ ¶§ ³»°¡ ÇÑ class ¸¦ ´ã´çÇß´Ù¸é ¿ÜºÎ¿¡¼
°Çµå¸± Çʿ䰡 ¾ø´Â °ÍÀº °¨ÃçµÎ´Â °ÍÀÌ ÇÔ¼ö³ª º¯¼ö¸¦ Àß ¸ø »ç¿ëÇØ¼ ¹ö±×¸¦
¸¸µå´Â ÀÏÀ» ¹æÁö ÇÒ ¼ö ÀÖ½À´Ï´Ù.
class MyClass { public: char
a; void function1();
public: void
MyClass(); void ~MyClass();
protected: void
family_only();
private: void
no_touch(); };
public Àº C¿¡¼ ó·³ ¾Æ¹«·± Á¢±Ù Á¦ÇÑÀÌ ¾ø´Â
°Í ÀÔ´Ï´Ù. º¯¼ö a ¿Í function1() ÇÔ¼ö´Â ¿ÜºÎ¿¡¼ ¹«Á¦ÇÑÀ¸·Î Á¢±ÙÇÒ ¼ö ÀÖ½À´Ï´Ù.
protected ´Â ÀÚ±â Ŭ·¡½º³ª »ó¼Ó¹ÞÀº ÀÚ½Ä Å¬·¡½º¿¡¼
¸¸ Á¢±ÙÀ» Çã¿ëÇÕ´Ï´Ù. family_only() ÇÔ¼ö´Â º»Àΰú °¡Á· °ü°èÀÚ ¿Ü¿¡´Â »ç¿ëÇÒ
¼ö ¾ø½À´Ï´Ù.
private Àº Àڱ⸸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. no_touch()
ÇÔ¼ö´Â class º»Àθ¸ Á¢±Ù ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÇÏÁö¸¸ Á¢±Ù ±ÇÇÑÀ̶õ ¾îµð±îÁö³ª ÄÚµù ÇÒ ¶§ÀÇ
À̾߱â ÀÔ´Ï´Ù. ÄÄÆÄÀÏ·¯¿Í ÇÁ·Î±×·¡¸Ó °£ÀÇ ¾à¼ÓÀÏ »ÓÀÔ´Ï´Ù. °Á¦ÀûÀ¸·Î
¸Þ¸ð¸® Æ÷ÀÎÅÍ¿¡ ÀÇÇØ¼´Â ¾Æ¹«°÷À̳ª Á¢±ÙÇÒ ¼ö ÀÖÀ¸´Ï±î¿ä. ½ÇÁ¦ ½ÇÇà½Ã À߸øµÈ
¸Þ¸ð¸® Á¢±Ù±îÁö ¸·¾ÆÁÖ´Â °ÍÀº ¾Æ´Õ´Ï´Ù.
5. »ó¼Ó(Inheritance)
»ó¼ÓÀ̶õ ºñ½ÁÇÑ ¼Ó¼ºÀÇ class ¸¦ ¸¸µé Çʿ䰡
ÀÖÀ»¶§ ±âº» class ÀÇ °ÍÀ» °¡Á®´Ù ¾µ ¼ö ÀÖ°Ô ¸¸µç °³³ä ÀÔ´Ï´Ù.
class ChildClass :
public MyClass { public: char
b; void function2(); };
À§¿Í °°ÀÌ ¼±¾ðÇϸé ChildClass ´Â ºÎ¸ðÀÎ MyClass
ÀÇ ¸â¹ö¸¦ protected ¿Í public À¸·Î ¼±¾ðµÈ ¸â¹ö¸¦ µû·Î ¼±¾ðÇÒ ÇÊ¿ä ¾øÀÌ »ç¿ëÇÒ
¼ö ÀÖ½À´Ï´Ù.
ChildClass cobj;
cobj.function1();
ÀÌ °¡´ÉÇÏ´Ù´Â ¸»ÀÔ´Ï´Ù. function1() À» µû·Î
¼±¾ðÇÏÁö ¾Ê¾Æµµ ºÎ¸ðÀÇ function1() À» ±×´ë·Î »ó¼Ó ¹Þ¾Æ È£ÃâÀÌ °¡´ÉÇÕ´Ï´Ù.
À̰ÍÀ» C °³³äÀ¸·Î º¸¸é,
typedef struct { char
a; void (*function1)(); }
MyClass;
typedef struct { MyClass
parent; char b; void
(*function2)(); } ChildClass;
ChildClass cobj;
cobj.parent.function1();
À§¿Í °°½À´Ï´Ù. ÀÌ·± »ó¼Ó °³³äÀÌ ÇÊ¿äÇÑ
ÀÌÀ¯´Â ºñ½ÁÇÑ ¼Ó¼º±ºÀÇ ÇÔ¼ö¸¦ Çϳª¸¸ ¸¸µé¾î¼ °øÀ¯ ÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡°ú À̸¦
°ü¸®ÇÏ´Â ÀÔÀå¿¡¼µµ ÇϳªÀÇ Æ÷ÀÎÅÍ·Î °¢ class º¯¼ö¸¦ °¡¸®Å³ ¼ö ÀÖ½À´Ï´Ù.
C++¿¡¼´Â,
MyClass obj; ChildClass cobj; MyClass
*pObj;
pObj = &obj; pObj = (MyClass*)&cobj;
¸¶Âù°¡Áö·Î C¿¡¼µµ,
MyClass obj; ChildClass cobj; MyClass
*pObj;
pObj = &obj; pObj = (MyClass*)&cobj;
ÀÌ·¸°Ô ÇϳªÀÇ Æ÷ÀÎÅÍ·Î °ü¸®ÇÏ¸é ±¸Á¶ÀûÀÎ ÇÁ·Î±×·¡¹ÖÀÌ
°¡´ÉÇÕ´Ï´Ù. ¿¹¸¦µé¾î ±×¸²ÆÇ ÇÁ·Î±×·¥À̶ó¸é Á÷¼±, »ç°¢Çü µîÀ» ±×¸®´Â ÅøÀÌ
°¢°¢ Á¸ÀçÇÕ´Ï´Ù. pObj Æ÷ÀÎÅ͸¦ ÇöÀç ¼±ÅÃµÈ ÅøÀÇ Æ÷ÀÎÅͶó°í ÇÏ¸é °¢°¢ÀÇ
±×¸®±â ÇÔ¼ö¸¦ ÀÌ °øÅë Æ÷ÀÎÅ͸¦ ÅëÇØ Á¢±ÙÇÒ ¼ö ÀÖ½À´Ï´Ù.
6. ´ÙÇü¼º(Polymophism)
´ÙÇü¼ºÀ̶õ ½±°Ô ¸»ÇÏ¸é µ¿ÀÏÇÑ À̸§ÀÇ ÇÔ¼ö¸¦
¿©·¯°³ ¾µ ¼ö ÀÖ´Ù´Â ¸»ÀÔ´Ï´Ù. ´Ü, ±¸ºÐÀÌ ÇÊ¿äÇϹǷΠÇÔ¼öÀÇ ¸®ÅϰªÀ̳ª º¯¼ö
Áß ¾î´À°ÍÀº ´Þ¶ó¾ß ÇÕ´Ï´Ù.
class MyClass { public: char
a; void function1(); char
function1(); void function1(char
in); void function1(int
in); };
À§¿Í °°ÀÌ °°Àº À̸§ÀÇ ÇÔ¼ö¸¦ ¿©·¯°³ ¼±¾ð ÇÒ
¼ö ÀÖ½À´Ï´Ù. º¯¼ö¿¡ µû¶ó °°Àº ±â´ÉÀ» ÇÏ´Â ÇÔ¼ö°¡ ¿©·¯°³ ÇÊ¿äÇÒ ¶§ ÇÔ¼ö À̸§À» °¢°¢
´Þ¸® ÇÏ´Â °Í º¸´Ù´Â °°Àº À̸§À» »ç¿ëÇÏ´Â°Ô Á÷°üÀûÀÏ °Ì´Ï´Ù. C¿¡´Â ÀÌ·± ±â´ÉÀÌ
¾ø½À´Ï´Ù. ÇÔ¼ö À̸§ÀÌ °°À¸¸é ¿¡·¯°¡ ³³´Ï´Ù. ±×·³ C++Àº ¾î¶»°Ô ÀÌ ¹®Á¦¸¦
ÇØ°áÇÒ±î¿ä. »ç½Ç C++¿¡¼´Â function1() ¶ó°í ¼±¾ð ÇßÀ»¶§ º¸ÀÌ´Â °Í°ú ´Þ¸® ³»ºÎÀûÀ¸·Î´Â
??0Cfunction1@@QAE@XZ() °°Àº ½ÄÀ¸·Î À̸§À» ¹Ù²ã °ü¸®ÇÕ´Ï´Ù. À̸§ÀÌ ¶È°°À¸¸é C++ Àڽŵµ ±¸ºÐÇÒ ¹æ¹ýÀÌ ¾ø½À´Ï´Ù. ¹ÛÀ¸·Î º¸ÀÌ´Â
°Í¸¸ ¶È¶ÈÇÑ °Í ó·³ º¸ÀÏ »Ó ¾È¿¡¼´Â C¿Í ¶È°°ÀÌ ÇÔ¼ö¸íÀ» °¢°¢ ±¸ºÐÇϱâ À§ÇØ
À¯´ÏÅ©ÇÑ ÇÔ¼ö¸íÀ» ÇÁ·Î±×·¡¸Ó ¸ô·¡ ¸¸µì´Ï´Ù.
°Á¦ÀûÀ¸·Î ÇÔ¼ö À̸§À» ¹Ù²ÙÁö ¾Êµµ·Ï ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¡¾ß
C ¸ðµâ°ú ÀÎÅÍÆäÀ̽º¸¦ ÇÒ ¼ö ÀÖÀ¸´Ï±î¿ä.
#ifdef __cplusplus extern
"C" { #endif
void intrinsic_func();
#ifdef __cplusplus } #endif
À§ ó·³ ¼±¾ðÇÏ¸é ³»ºÎÀûÀ¸·Î ÇÔ¼öÀÇ À̸§À» ¹Ù²ÙÁö
¾Ê½À´Ï´Ù.
7. °´Ã¼(Object)¿Í °´Ã¼ÁöÇâ(Object Oriented)
°´Ã¼¶õ ÀÛ°Ô´Â char º¯¼ö Çϳª°¡ µÉ ¼öµµ ÀÖ°í, ȤÀº
¿©·¯ ÇÔ¼ö¿Í º¯¼ö°¡ ¸ðÀÎ ±¸Á¶Ã¼ÀÏ ¼öµµ ÀÖ°í, Å©°Ô´Â ÇÁ·Î±×·¥µµ ÇϳªÀÇ °´Ã¼°¡
µÉ ¼öµµ ÀÖ½À´Ï´Ù.
°´Ã¼ÁöÇâÀ̶õ °´Ã¼ Çϳª°¡ ¿ÂÀüÇÑ »ý¸íü ó·³
ÀڱⰡ ÇÊ¿äÇÑ ¸ðµç ±â´ÉÀ» Æ÷ÇÔÇÏ´Â °ÍÀÔ´Ï´Ù. ¾Æ¸Þ¹Ù °°Àº ´Ü¼¼Æ÷À̰ųª
¿©·¯ ¼¼Æ÷°¡ °áÇÕµÈ ´Ù¼¼Æ÷À̰ųª Àΰ£Ã³·³ º¹ÀâÇÑ »ý¸íü°¡ °¢°¢ °´Ã¼ÀÔ´Ï´Ù. ¾î¶²
Ư¡À» À¯ÁöÇÑä ±¸ºÐÇÒ ¼ö ÀÖ´Â ÃÖ¼Ò ´ÜÀ§·Î ¸ðµâÈ, ºí·°È¸¦ ÇØ¼ ÃÖ´ëÇÑ ºÐ¸®ÇÏ´Â
°ÍÀÔ´Ï´Ù. ÀÌ·¸°Ô ÇØ¼ ±â´ÉÀ» ºÐ¸®Çϰí ÄÚµåÀÇ ÀçȰ¿ë¼ºÀ» ³ôÀÌ°í ¹ö±×¸¦ ÁÙÀÏ
¼ö ÀÖ½À´Ï´Ù. ÀÌ»óÀûÀ¸·Î´Â ÆÀ ´ÜÀ§ °³¹ß¿¡¼ °¢ÀÚ ¸ðµâÀ» °³¹ßÇØ¼ °áÇÕÇÏ¿©
ÃÖÁ¾ Á¦Ç°À» ¸¸µç´Â °ÍÀÔ´Ï´Ù. ·¹°í ºí·° ó·³ ¸ðµâ·Î ¸¸µé¾î ³õÀ¸¸é ÀÚµ¿Â÷³ª
ºñÇà±â¸¦ ¸¸µé ¶§ ºí·°À» Çϳª¾¿ °¡Á®´Ù ³¢¿ö³ÖÀ» ¼ö ÀÖ½À´Ï´Ù. ¹ÙÄû, ÀÇÀÚ µîµî..
ÇÏÁö¸¸ °´Ã¼ÁöÇâÀ̶õ °³³äÀÌ °áÄÚ ½¬¿î °³³äÀÌ
¾Æ´Õ´Ï´Ù. Á¦´ë·Î °´Ã¼ÁöÇâÀ» ±¸ÇöÇÏ·Á¸é ÇÑ 10³â Á¤µµ´Â °æ·ÂÀÌ ½×¿©¼ ÇÁ·ÎÁ§Æ®
Àüü¸¦ ¼³°èÇÒ ¼ö ÀÖ´Â ¾ÆÅ°ÅØÆ®ÀÇ ¼öÁرîÁö ¿Ã¶ó¾ß ÇÕ´Ï´Ù.
±×·³ C++ ·Î¸¸ °´Ã¼ÁöÇâÀ» ÇÒ ¼ö ÀÖÀ»±î¿ä? C ½ÃÀý¿¡´Â °´Ã¼ÁöÇâÀ» ÇÏÁö ¸øÇßÀ»±î¿ä? ´ÜÁö C++ÀÌ °´Ã¼ÁöÇâ ±â¹Ý(ready) ¾ð¾î¶ó´Â Â÷ÀÌÁ¡ÀÔ´Ï´Ù.
8. ±âŸ
Áõ°¡ ¿¬»êÀÚ: a++ Àº C·Î Ç¥ÇöÇϸé a = a + 1 ÀÔ´Ï´Ù.
¿©±â¼ C++ÀÇ À̸§ÀÌ ³ª¿Ô½À´Ï´Ù. °¨¼Ò ¿¬»êÀÚ: a-- ´Â C·Î Ç¥ÇöÇϸé a = a -
1 ÀÔ´Ï´Ù. new: malloc() ÇÔ¼ö¿Í °°Àº ¿ªÇÒÀ» ÇÕ´Ï´Ù. delete: free() ÇÔ¼ö¿Í
°°Àº ¿ªÇÒÀ» ÇÕ´Ï´Ù. virtual (°¡»óÇÔ¼ö): class¿¡ virtual·Î ¼±¾ðµÈ ÇÔ¼ö´Â ÀÚ½Ä
class¿¡ µ¿ÀÏ ÇÔ¼ö°¡ Á¸ÀçÇÒ ¶§ ºÎ¸ðÀÇ ÇÔ¼ö¸¦ È£ÃâÇÏÁö ¾Ê°í ÀÚ½ÄÀÇ ÇÔ¼ö¸¦ È£ÃâÇÕ´Ï´Ù. ÄÄÆÄÀÏ
ÇÒ ¶§ ÀûÀýÇÑ ÇÔ¼öÀÇ È£Ãâ·Î ´ëÄ¡ÇÏ´Â °ÍÀÔ´Ï´Ù. template: C++ÀÇ °·ÂÇÔÀ» °¡Á®´Ù
Áִ Ư¡ÀÔ´Ï´Ù. ÇÔ¼ö´Â °áÁ¤µÅ ÀÖÁö¸¸ µ¥ÀÌÅÍ Å¸ÀÔÀº °áÁ¤µÇÁö ¾ÊÀº Ư¡ÀÌ
ÀÖ°í µ¥ÀÌÅÍ ÇüÀº ÅÆÇø´À» »ç¿ëÇÒ ¶§ °áÁ¤µË´Ï´Ù. #defineÀ» ÀÌ¿ëÇØ ¿¬»ê ±â´ÉÀ»
Á¤ÀÇÇÏ´Â °ÍÀÇ È®ÀåÆÇÀÌ¶ó º¼ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ·¸°Ô C++ÀÇ ´ëÇ¥Àû ÀϺΠ±â´Éµé°ú CÀÇ °ü°è¸¦
¾Ë¾Æ ºÃ½À´Ï´Ù. C++ÀÌ C¿Í Å©°Ô ´Ù¸£Áö ¾Ê´Ù´Â °É ¾Æ½Ç °Ì´Ï´Ù. C++ÀÌ Àå³À¸·Î
¸¸µé¾ú´Ù´Â ÀÎÅͳݿ¡ ¶°µµ´Â ±Ûµµ ÀÖÁö¸¸ C++ÀÌ C¸¦ ÀÚµ¿ÈÇÑ°Í »ÓÀÌ´Ù´Â ¸»µµ Å©°Ô Ʋ¸®Áö ¾Ê±¸¿ä.
ÀÌ»ó C++ ¸¸µç »ç¶÷ÀÌ º¸¸é Çê¼Ò¸®! ¶ó°í ÇÒÁöµµ ¸ð¸¦ °Á¿´½À´Ï´Ù.
2013-09-13 [Á¶È¸: 5454]
|