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
