C/C++ ¥¯¥é¥¹(Class)
¥¯¥é¥¹¤È¤Ï¡©
¡¡C¸À¸ì¤Ë¤Ï¡¢¥¯¥é¥¹¤Ï̵¤¤¤¬¡¢¹½Â¤ÂΤ¬¤¢¤ë¡£C++ ¤Î¥¯¥é¥¹(Class) ¤Ï¡¢C¸À¸ì¤Î¹½Â¤ÂΤشؿô¤ò´Þ¤á¤ë¤³¤È¤¬½ÐÍè¤ëÆüì¤Ê¹½Â¤ÂΤȸ«¤ë¤³¤È¤â½ÐÍè¤ë¡£¡¡vb2005 ¤È¤« java Åù¤Ç¤Ï¥Õ¥Ä¡¼¡Ê²¿µ¤¤Ê¤¯¡Ë¤Ë½Ð¤Æ¤¯¤ë¸ÀÍդʤΤǡ¢°Õ¼±¤»¤º¤Ë»È¤Ã¤Æ¤¤¤ë¾ì¹ç¤â¿¡¹¤¢¤ë¤«¤â¤·¤ì¤Ê¤¤¡£¸½ºß¤Î¹âµé¸À¸ì¤Ç¤Ï¡¢¥×¥í¥·¡¼¥¸¥ã¤ò¼è¤ê´¬¤¯ wrapper ¤È¤·¤Æɬ¤º¡Ê¤È¤¤¤Ã¤Æ¤â¡©¡Ë¤³¤Î¸ÀÍդˤªÌܤ˳ݤ«¤ë¤¬¡¢°Õ¼±¤·¤¿¤³¤È¤Ï¤Ê¤«¤Ã¤¿¡£¡Ê°Õ¼±¤·¤Ê¤¯¤Æ¤âº¤¤é¤Ê¤«¤Ã¤¿...¡©¡Ë
¡¡C++ ¤Ç Class ¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢ÁêÅö°Õ¼±¤¹¤ëɬÍפ¬¤¢¤ë¤è¤¦¤Ê¤Î¤ÇÃí°Õ¡£
C++ ¤Î¥¯¥é¥¹
¡¡¼ÂºÝ¤Ë¤Ï¡¢C¸À¸ì¹½Â¤ÂΤò³ÈÄ¥¤·¤¿Êª¡¢Ëô¤Ï¡¢C++ ¤Ë¤ª¤¤¤Æ¤Î¹½Â¤ÂÎ¤Ï Class ¤Îµ¡Ç½¤òÀ©¸Â¤·¤¿¤è¤¦¤Ê»È¤¤Êý¡Ê¤Á¤ç¤Ã¤È°ã¤¦¤¬...¡Ë¤È¤¤¤¨¤ë¡£¢¨ÆâÍÆÈóÊݾÚ:Operater Overload ¤ÇɬÍפËÇ÷¤é¤ì¤¿ºÇÄã¸Â¤Î Class ¤Î³Ð¤¨½ñ¤¤Ç¤¢¤ë¡£
¥³¥ó¥¹¥È¥é¥¯¥¿¡¦¥Ç¥¹¥È¥é¥¯¥¿
¡¡¥¯¥é¥¹¤ò»È¤¤¤³¤Ê¤¹¤Ë¤Ï¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¤È¥Ç¥¹¥È¥é¥¯¥¿¤ÎÃ챤âɬÍפȤʤ뤬º£²ó¤Ï¤½¤³¤Þ¤ÇɬÍפȤ·¤Ê¤¤¤È»×¤¦¤Î¤Ç¼è¤ê¹ç¤¨¤º³ä°¦¡£¢¨Æ°ÅªÇÛÎó(new delete)¤ò¥¯¥é¥¹Æâ¤Ç»ÈÍѤ¹¤ë¾ì¹çɬ¿Ü¡£
¢¨¥á¥â¥ê¤ò³ÎÊÝ(¥¤¥ó¥¹¥¿¥ó¥¹À¸À®)¤·¤¿¤Ê¤é¡¢³«Êü¤¬É¬¿Ü¡£¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥Ç¥¹¥È¥é¥¯¥¿¤Ï¤³¤ì¤é¤ò¼«Æ°¤Ç¹Ô¤Ã¤Æ¤¯¤ì¤ë¤â¤Î...¤È¸À¤¦¤³¤È¤Ë¤Ê¤ë¡£
¢¨¼«Æ°¤È¸À¤Ã¤Æ¤â win32 ¤Ç garbage collection ¤¬Æ°¤¯Ìõ¤â¤Ê¤¤¡£Îΰè¤ò³ÎÊݤ·¤¿¥×¥í¥·¡¼¥¸¥ã¾ÃÌǤ˹礻³«Êü¤ò¤ª¤³¤Ê¤¦¤È¸À¤¦¤³¤È¤Ç¤¢¤ë¡£
¢¨STL ¤Ï¡¢¥Æ¥ó¥×¥ì¡¼¥È¤ò¿ÍѤ·¤¿¡Ö¥¯¥é¥¹¡×¤È¤è¤¯¸À¤ï¤ì¡¢¥¯¥é¥¹¤ò¶Ë¤á¤ì¤Ð¡¢STL ¤Î¤è¤ê¿¼¤¤Íý²ò¤¬²Äǽ¤Ë¤Ê¤ë¤È»×¤¦¡£¥¯¥é¥¹Æâ¤Ç STL ¤ò»È¤¦Ê¬¤Ë¤Ï¡¢STL ¦¤¬¤ä¤Ã¤Æ¤¯¤ì¤ë¡Ê...¤È»×¤¦...¡Ë¤Î¤Ç¿ʬµ¤¤Ë¤·¤Ê¤¯¤ÆÎɤ¤¡£¡Ê¢¨ÈóÊݾڡË
¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥Ç¥¹¥È¥é¥¯¥¿
¢¨new, delete ¤Ê¤É¡¢Æ°Åª¥á¥â¥ê³ÎÊÝ»þ¤Ëɬ¿Ü¡£¤½¤Î¾¤Î¾ì¹çɬ¤º¤·¤âɬ¿Ü¤Ç¤Ï¤Ê¤¤¡£
class Meibo { int age; string name; // age=15 or age(15) Åù err public: // ¥³¥ó¥¹¥È¥é¥¯¥¿¡¦¥Ç¥¹¥È¥é¥¯¥¿ Meibo(); // ¥³¥ó¥¹¥È¥é¥¯¥¿(½é´ü²½) Meibo(const Meibo &); // ¥³¥Ô¡¼¥³¥ó¥¹¥È¥é¥¯¥¿(½é´ü²½) ~Meibo(); // ¥Ç¥¹¥È¥é¥¯¥¿(½ªÎ»½èÍý) // ¤½¤Î¾¤Î¥á¥ó¥Ð´Ø¿ô void SetData(int, string); void ShowData(); };
void main() { Meibo MyClass; // ¥³¥ó¥¹¥È¥é¥¯¥¿¸Æ½Ð¡¡ // MyClass.SetData(13,"Kinomoto Sakura"); MyClass.ShowData(); Meibo MyClass2 = MyClass; // ¥³¥Ô¡¼¥³¥ó¥¹¥È¥é¥¯¥¿¸Æ½Ð MyClass2.ShowData(); } // ¥Ç¥¹¥È¥é¥¯¥¿¼Â¹Ô
Meibo::Meibo() { // ½é´ü²½ÄêµÁ¡§½é´ü²½»Ò¡¢½é´ü²½¥ê¥¹¥È cout << "¥³¥ó¥¹¥È¥é¥¯¥¿¼Â¹Ô" << endl; age = 12; name = "non"; // Ê̤˶õ {} ¤Ç¤âÎɤ¤ } Meibo::Meibo(const Meibo& obj) { cout << "¥³¥Ô¡¼¥³¥ó¥¹¥È¥é¥¯¥¿¼Â¹Ô" << endl; age = 10; name = "No Name"; // ¶õ¤Ê¤éÉÔÄêÃͤǽé´ü²½? } Meibo::~Meibo() { // ½ªÎ»½èÍý¤òµ½Ò cout << "¥Ç¥¹¥È¥é¥¯¥¿¼Â¹Ô" << endl; }
void Meibo::SetData(int in_age, string in_name) { age = in_age; name = in_name; } void Meibo::ShowData() { cout << age << "" << name << endl; }¢¨¤³¤Î¤è¤¦¤Ë¤¹¤ë¤È¡¢½é´ü²½¤µ¤ì¤¿ÃÍ¡¢12 non ¤¬É½¼¨¤µ¤ì¤ë¡£
¢¨Ìµ¤¯¤Æ¤â¼«Æ°¤ÇÊä´°¤µ¤ì¤ë¤¬¡¢Æþ¤ì¤Æ¤ª¤¯Êʤò¤Ä¤±¤Æ¤ª¤¯¤È¸å¤ÇÍý²ò¤¬¤·¤ä¤¹¤¤¤«¤â¡©¡Ê¿ʬ¡Ë
¢¨My ¤Ï VB ¤ÎÊØÍøµ¡Ç½¤Ë Ʊ̾¥¡¼¥ï¡¼¥É¤¬¤¢¤Ã¤¿µ¤¤¬¤¹¤ë...¤¬¡¢Á´¤¯´ØÏ¢¤Ê¤¯»È¤Ã¤¿Ì¾¾Î¡£
¢¨¤Á¤Ê¤ß¤Ë¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¤ò»È¤ï¤º¥¯¥é¥¹¤Î private ÊÑ¿ô¤ØľÀܽé´üÃͤòÀßÄê (int age = 15; ¤È¤«) ¤¹¤ë¤È¥³¥ó¥Ñ¥¤¥ë¥¨¥é¡¼¤¬½Ð¤ë¡£
ɽ¼¨¥µ¥ó¥×¥ë
¥³¥ó¥¹¥È¥é¥¯¥¿¼Â¹Ô // MyClass ¤Î¥³¥ó¥¹¥È¥é¥¯¥¿ 12 non ¥³¥Ô¡¼¥³¥ó¥¹¥È¥é¥¯¥¿¼Â¹Ô // MyClass2 ¤Î¥³¥Ô¡¼¥³¥ó¥¹¥È¥é¥¯¥¿ 10 No Name ¥Ç¥¹¥È¥é¥¯¥¿¼Â¹Ô // ¿ʬ MyClass2 ¤Î¥Ç¥¹¥È¥é¥¯¥¿ ¥Ç¥¹¥È¥é¥¯¥¿¼Â¹Ô // ¿ʬ MyClass ¤Î¥Ç¥¹¥È¥é¥¯¥¿ ³¹Ô¤¹¤ë¤Ë¤Ï²¿¤«¥¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤ . . .
¢¥¾å¤Ø [ ÊÔ½¸ ]
¥¯¥é¥¹¤ò¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ»È¤¦
¡¡¥¯¥é¥¹¤ÎÆÃħ¤È¤·¤ÆÆâÉôÊÑ¿ô¤Ê¤É¤ò±£Ê乤뵡ǽ¤¬¤¢¤ë¡£Íפ¹¤ë¤Ë¥Ö¥é¥Ã¥¯¥Ü¥Ã¥¯¥¹¤Î¤è¤¦¤Ê°ìÏ¢¤Îµ¡Ç½¤ò»ý¤Ã¤¿´Ø¿ô(Class)¤òºî¤ë¤³¤È¤¬½ÐÍè¤ë¡£¡¡Î㤨¤Ð»þ·×(Class)¤Ï¡¢¡»þ¤ò¹ï¤à¡¢¢ÌܳФޤ·¤ò¥»¥Ã¥È¤¹¤ë¡¢£ÌܳФޤ·¤¬ÌĤ롢¤ÌܳФޤ·¤ò»ß¤á¤ë¡¢¥»þ´Ö¤ò½¤Àµ¤¹¤ë... ¤È¸À¤Ã¤¿µ¡Ç½¤ò¥ª¥Ö¥¸¥§¥¯¥È(»þ·×Class)¤Ë»ý¤¿¤»¡¢³°Éô¤«¤é¢¡¢¤¡¢¥¤Î¤è¤¦¤ÊÁàºî¤¬½ÐÍè(¥ª¥Ö¥¸¥§¥¯¥ÈÁàºî)¤Æ¡¢ÆâÉô¤Ç¤Ï¡¡¢£¤ÎÍͤʵ¡Ç½¤¬Æ¯¤¤¤Æ¤¤¤ë...¤È¤¤¤¦¤³¤È¤ò¥×¥í¥°¥é¥à¤¹¤ë¤Î¤ËŬ¤·¤Æ¤¤¤ë¤Î¤¬¡¢¥¯¥é¥¹¤È¸Æ¤Ð¤ì¤ë¤â¤Î¡£°ìÈÌŪ¤Ë¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¤È¸Æ¤Ð¤ì¤ë¡£
¡¡¤µ¤é¤Ë¡¢ÆâÉôŪ¤ÊÁàºî¤Ï½àÈ÷ºÑ¤ß¤Î¥Ü¥¿¥ó(´Ø¿ô¸Æ½Ð)¤Ç¹Ô¤¦¤³¤È¤È¤¹¤ë¤³¤È¤Ç¡¢ºÆÍøÍѤ䥻¥¥å¥ê¥Æ¥£¤Î¸þ¾å¤Ê¤É¤ò³ÎÊݤ·¤Æ¤¤¤ë¡£¡Ê¥«¥×¥»¥ë²½¡Ë
¡¡¸Î¤Ë¡¢¤á¤ó¤É¤¯¤µ¤¤¼ê³¤¤ÈÆñ²ò¤ÊÃ챤òɬÍפò¤µ¤ì¤ë¡£
¼¡¤Ë´Êñ¤Ê Class ¤Î»ÈÍÑÎã
¢¨Class Æâ¤Ø ¥á¥ó¥Ð´Ø¿ô¤ò»ý¤¿¤»¤¿Îã¡£
#include <iostream> #include <string> using namespace std;
class Meibo { private: int age; string name; public: void SetData(int in_age, string in_name) { age = in_age; name = in_name; } void ShowData() { cout << age << endl; cout << name << endl; } } My;
void main() { My.SetData(13, "Kinomoto Sakura"); My.ShowData(); }¢¨´Ø¿ô¤ò¥á¥ó¥Ð¤Ø´Þ¤á³°Éô¤«¤é private: Æâ¤ÎÁàºî¤ò²Äǽ¤È¤¹¤ë¡£
¢¨main ¤«¤é¤Ï¡¢¸ø³«¤µ¤ì¤¿´ûÄê¤Î¥á¥ó¥Ð´Ø¿ô¤Î¤ß¸Æ½Ð¤¬²Äǽ¡£
¥á¥ó¥Ð´Ø¿ô¤ò³°Éô¤ØÃÖ¤¯¾ì¹ç
class Meibo { int age; string name; public: void SetMeibo(int, string); void Show(); };
void main() { Meibo MyClass; MyClass.SetMeibo(13,"Kinomoto Sakura"); MyClass.Show(); }
void Meibo::SetMeibo(int in_age, string in_name) { age = in_age; name = in_name; } void Meibo::Show() { cout << age << endl; cout << name << endl; }¢¨¥á¥ó¥Ð´Ø¿ô¤Ï¡¢³°ÉôÄêµÁ¤·¤¿´Ø¿ô¤ÎÍøÍѤâ½ÐÍè¤ë¡£
¢¨Îã¤Ë¤è¤Ã¤Æ¿§¡¹¤Êµ½Ò¤¬²Äǽ¤À¤¬¡¢Ä̾ï¤Ï¤³¤Î·Á¼°¤¬Â¿¤¤¡£
¢¥¾å¤Ø [ ÊÔ½¸ ]
¥¯¥é¥¹¤ò¹½Â¤ÂΤȤ·¤Æ»È¤¦
¡¡¹½Â¤ÂÎ(struct)¤Î»ÈÍѤò»ß¤á¤Æ¡¢Class ¤Ç°Ê²¼¤ÎÍͤ˥եġ¼¤Ë»ÈÍѲÄǽ¡£ºÇ¤â´Êñ¤Ê Class ¤Î»ÈÍÑÎã
¢¨Ã±¤Ë struct ¤ò class ¤ØÃÖ¤´¹¤¨¤Æ»ÈÍÑ¡£
#include <iostream> #include <string> using namespace std;
class Meibo { public: // ɬ¿Ü ̵¤Ê¤é´ûÄê¤Ç private: ¤È¤Ê¤ë¡£ int age; string name; } My;
void main() { My.age = 13; My.name = "Kinomoto Sakura"; cout << My.age << endl; cout << My.name << endl; }¢¨Struct ¤¬ Class ¤ËÃÖ¤´¹¤ï¤Ã¤Æ¤¤¤ë¤À¤±¤Ç¹½Â¤ÂΤÈƱÍͤËÆ°¤¯¡£
¢¨Í×Ãí°Õ¡§¤³¤Î¾ì¹ç public: ɬ¿Ü¡£¤³¤³¤¬ struct ¤ÈÂ礤¯°Û¤Ê¤ë¡£
¢¨struct class ¤Î°ìÉôÁê°ãÅÀ¤Î¤ßÇÄ°®¤·¤Æ¤¤¤ì¤Ð¡¢¤³¤¦¤·¤¿¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¡£
¢¨public: »ØÄꤷ¤Ê¤¤¾ì¹ç¡¢class ³°Éô¤è¤ê¹½Â¤ÂÎÊÑ¿ô¤¬±£Ê䵤ì¤ë¡£¡Ê¥¢¥¯¥»¥¹ÉԲġË
¢¥¾å¤Ø [ ÊÔ½¸ ]
¥ê¥ó¥¯
ÆâÉô¥ê¥ó¥¯
- C/C++ C++/CLI C# ´ØÏ¢
^ [[C/C++ ¥¯¥é¥¹(Class)]]
- C/C++ ¥Æ¥ó¥×¥ì¡¼¥È
- C/C++ ¥ª¡¼¥Ð¡¼¥í¡¼¥É
- C/C++ STL(Standard Template Library)
- ÊÑ¿ô¡¦Äê¿ô
- ¥×¥í¥°¥é¥à¤Îʬ³ä/¥À¥¤¥Ê¥ß¥Ã¥¯¥ê¥ó¥¯¥é¥¤¥Ö¥é¥ê ¤Ê¤É
- ¤½¤Î¾
- C/C++ ¤½¤Î¾::½ñ¼°Ê¸»ú/ESC code ¤Ê¤É
- VB2005¥ê¥Õ¥¡¥ì¥ó¥¹¡Ê³Ð¤¨½ñ¤¡Ë
- SQLʸ¡§SQL¥¹¥Æ¡¼¥È¥á¥ó¥È
- VBA(VisualBasic for Applications)
³°Éô¥ê¥ó¥¯
- ¸½ºß¤¢¤ê¤Þ¤»¤ó
¢¥¾å¤Ø [ ÊÔ½¸ ]
¥¿¥°¡§£ã¡¿£ã¡Ü¡Ü , vc++2005
2008ǯ07·î08Æü(²Ð) 00:12:38 Modified by cafeboy1