Â裱²ó¤Ï¥¤¥ó¥¹¥¿¥ó¥¹¤Ë¤Ä¤¤¤Æ¤Ç¤¹¡£
º£²ó¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë
instance.zip
¥¯¥é¥¹¡Ê¥Ç¡¼¥¿¡ÊÊÑ¿ô¡Ë¤È½èÍý¡Ê´Ø¿ô¡Ë¤ò¤Ò¤È¤Þ¤È¤Þ¤ê¤Ë¤·¤Æ¤ª¤±¤ëµ¡Ç½¡Ë¤òÄêµÁ¤¹¤ë¤³¤È¤Ç
¥Ç¡¼¥¿¤È½èÍý¤Î´Ø·¸¤¬Ì©Àܤˤʤê¤Þ¤¹¡£
¥¯¥é¥¹ÊÑ¿ô¤Î¥á¥â¥ê¤ò³ÎÊݤ·¤Æ»È¤¨¤ë¾õÂ֤ˤ¹¤ë¤³¤È¤ò¥¤¥ó¥¹¥¿¥ó¥¹²½¤È¸À¤¤¤Þ¤¹¡£
ÍøÅÀ¤È¤·¤Æ¥¤¥ó¥¹¥¿¥ó¥¹Ëè¤Ë
¡¦ÊÌ¡¹¤Î¥Ç¡¼¥¿¡ÊÊÑ¿ô¡Ë
¡¦¶¦Ä̤δؿô
¤ò»ý¤Ä¤Î¤Ç¡¢Ê£À½¤ä½¤Àµ¤¬³Ú¤Ë¤Ê¤ê¤Þ¤¹¡£
¥¯¥é¥¹¤ÎÄêµÁÎã¤òµó¤²¤Þ¤¹
class Player{ public: // public¥¡¼¥ï¡¼¥É¤Ï¥«¥×¥»¥ë²½¤ÇÀâÌÀ¤¹¤ë¡¢¤³¤³¤Ç¤Ï¤Þ¤À¤ª¤Þ¤¸¤Ê¤¤¤È»×¤Ã¤Æ¤Æ¤¯¤ì¤ì¤Ð¤¤¤¤ int m_HP; // ¥á¥ó¥ÐÊÑ¿ô void PowerUp(int HP);¡¡ // (a)¥á¥ó¥Ð´Ø¿ôÀë¸À void PowerDown(int Damege){ // (b)¥á¥ó¥Ð´Ø¿ô¥¤¥ó¥é¥¤¥óÄêµÁ m_HP -= Damege; } }; // ¢«;˺¤ì¤º¤Ë!! // (a)¥á¥ó¥Ð´Ø¿ôÄêµÁ¡Ê¥¯¥é¥¹Ì¾::¡Ë void Player::PowerUp(int HP){ m_HP += HP; }
¥¯¥é¥¹Æâ¤ÎÊÑ¿ô¤ò¥á¥ó¥ÐÊÑ¿ô¤È¸Æ¤Ó¤Þ¤¹
¥á¥ó¥Ð´Ø¿ô¤Ë´Ø¤·¤Æ¤Ï¡¢
¥¯¥é¥¹Æâ¤ÇÀë¸À¤Î¤ß¤·¡¢¼ÂÁõ¤ò¤¢¤È¤ÇÄêµÁ¤¹¤ëÊýË¡(a)¤È
¥¤¥ó¥é¥¤¥óÄêµÁ¤ÇÀë¸À¤ÈƱ»þ¤Ë½èÍý¤Þ¤Ç½ñ¤¤¤Æ¤·¤Þ¤¦ÊýË¡(b)¤¬¤¢¤ê¤Þ¤¹
ʬ³ä¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤¤Ï(a)¤Î½ñ¤Êý¤ò¤·¤Þ¤¹
¥¯¥é¥¹¤ÎÄêµÁ¤Ï¹½Â¤ÂΤÎÄêµÁ¤ÈƱ¤¸¤Ê¤Î¤Ç
¥á¥ó¥ÐÊÑ¿ô¤È¥á¥ó¥Ð´Ø¿ô¤ò»È¤¦¤Ë¤Ï¥¯¥é¥¹ÊÑ¿ô¤ò¥¤¥ó¥¹¥¿¥ó¥¹²½¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹
¥¤¥ó¥¹¥¿¥ó¥¹²½¤¹¤ë¤Ë¤Ï¼ç¤Ë¼¡¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹
¡¥¯¥é¥¹Ì¾ ÊÑ¿ô̾;
¢¥¯¥é¥¹Ì¾ ÊÑ¿ô̾[Í×ÁÇ¿ô];
£new ¥¯¥é¥¹Ì¾(); ()¾Êά²Ä
¤new ¥¯¥é¥¹Ì¾[Í×ÁÇ¿ô];
Player player; // ¡ Player players[5]; // ¢ new Player(); // £ new Player[10]; // ¤
¤µ¤é¤ËÇÛÃÖnew¤È¤¤¤¦
¤¢¤é¤«¤¸¤á¼èÆÀ¤·¤Æ¤¢¤ë¥á¥â¥ê¥×¡¼¥ë¤«¤é¥¤¥ó¥¹¥¿¥ó¥¹²½¤ËɬÍפʥá¥â¥êÎΰè¤ò³ÎÊݤ¹¤ëÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
¤¢¤é¤«¤¸¤á³ÎÊݤµ¤ì¤Æ¤¤¤ëÎΰè¤òºÆ³ä¤êÅö¤Æ¤¹¤ë¤Î¤ÇÄ̾ï¤Înew¡Ê£¤ä¤¡Ë¤è¤ê¹â®¤Ç¤¹¡£
¥á¥â¥ê¥×¡¼¥ë¤¬²òÊü¤µ¤ì¤ëÊݾڤ¬¤¢¤ë¤Ê¤é¤Ðdelete¤ädelete[]¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó
¥new(¥á¥â¥ê¥×¡¼¥ë¥¢¥É¥ì¥¹) ¥¯¥é¥¹Ì¾
¦new(¥á¥â¥ê¥×¡¼¥ë¥¢¥É¥ì¥¹) ¥¯¥é¥¹Ì¾[Í×ÁÇ¿ô]
char Pool[1000]; // ¥á¥â¥ê¥×¡¼¥ë new(Pool) Player; // ¥ new(Pool+sizeof(Player)) Player[10]; // ¦
¥¦¤Ï¤¢¤Þ¤ê»È¤¦¤³¤È¤Ï¤Ê¤¤¤È»×¤¦¤Î¤Ç¡¢¤³¤ó¤Êµ¡Ç½¤¢¤Ã¤¿¤ÊÄøÅ٤Ǥ褤¤È»×¤¤¤Þ¤¹
¤¿¤À¤·¡¢»È¤¦¤È¤¤Ï¡¢¥á¥â¥ê¥×¡¼¥ë¤Ç´û¤Ë¾¤ÎÊÑ¿ô¤¬»ÈÍѤ·¤Æ¤¤¤ëÎΰè¤òºÆ³ÎÊݤ·¤Ê¤¤¤è¤¦¤ËÃí°Õ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
°Ê²¼¤ËÁ´¥³¡¼¥ÉºÜ¤»¤Þ¤¹¡£
class¤Ï½ã¿è¤ÊC¸À¸ì(.c)¤Ç¤Ï»È¤¨¤Ê¤¤¤Î¤ÇÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤
C++¥½¡¼¥¹¥Õ¥¡¥¤¥ë³ÈÄ¥»Ò(.cpp)¤Ç(C++¥³¥ó¥Ñ¥¤¥é¤Ç)¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹
¡ÊC¸À¸ì¹ÖºÂ¤Ç½¬¤Ã¤¿¤è¤¦¤Ëºî¤ì¤ÐÊ¿µ¤¤Ç¤¹¡Ë
// main.cpp #include <iostream> // C++Æþ½ÐÎϥإåÀ¡¼¥¤¥ó¥¯¥ë¡¼¥É class Player { public: // public¥¡¼¥ï¡¼¥É¤Ï¥«¥×¥»¥ë²½¤ÇÀâÌÀ¤¹¤ë¡¢¤³¤³¤Ç¤Ï¤Þ¤À¤ª¤Þ¤¸¤Ê¤¤¤È»×¤Ã¤Æ¤Æ¤¯¤ì¤ì¤Ð¤¤¤¤ int m_HP; // ¥á¥ó¥ÐÊÑ¿ô // ¥á¥ó¥Ð´Ø¿ô¤ÎÀë¸À void PowerUp(int HP); // ¥á¥ó¥Ð´Ø¿ô¤Î¥¤¥ó¥é¥¤¥óÄêµÁ void PowerDown(int Damege) { m_HP -= Damege; } }; // ¥»¥ß¥³¥í¥ó˺¤ì¤º¤Ë! // ¥á¥ó¥Ð´Ø¿ô¤Î¼ÂÁõ // ¥¯¥é¥¹Ì¾::¤ÇÄêµÁ¤¹¤ë void Player::PowerUp(int HP) { m_HP += HP; } int main() { Player player; // ¥¤¥ó¥¹¥¿¥ó¥¹²½ Player players[5]; // ÇÛÎ󥤥󥹥¿¥ó¥¹²½ Player* pplayer; pplayer = new Player(); // ưŪ¥¤¥ó¥¹¥¿¥ó¥¹²½(new ¥¯¥é¥¹Ì¾) Player* pplayers; pplayers = new Player[10]; // ưŪÇÛÎ󥤥󥹥¿¥ó¥¹²½(new ¥¯¥é¥¹Ì¾[]) // ¥á¥ó¥Ð¤Î¥¢¥¯¥»¥¹¤Ë¤Ï( . )¤ò»È¤¦ player.m_HP = 100; printf("player HP = %d\n",player.m_HP); player.PowerUp(200); printf("player HP = %d\n",player.m_HP); player.PowerDown(50); printf("player HP = %d\n",player.m_HP); // ¥Ý¥¤¥ó¥¿¤Î¾ì¹ç¤Ï¥á¥ó¥Ð¤Î¥¢¥¯¥»¥¹¤Ë¤Ï¥¢¥í¡¼±é»»»Ò( -> )¤ò»È¤¦ pplayer->m_HP = 50; printf("pplayer HP = %d\n",pplayer->m_HP); pplayer->PowerUp(250); printf("pplayer HP = %d\n",pplayer->m_HP); pplayer->PowerDown(25); printf("pplayer HP = %d\n",pplayer->m_HP); // ÇÛÎó¤â¤¤¤Þ¤Þ¤Ç¤ÈƱÍͤ˻Ȥ¨¤ë players[0].m_HP = 10; printf("players[0] HP = %d\n",players[0].m_HP); // ¥¤¥ó¥¹¥¿¥ó¥¹¤´¤È¤Ë¸ÄÊ̤Υǡ¼¥¿¤ò»ý¤Ä delete pplayer; // new¤·¤¿¤édelete delete[] pplayers; // new¤ÎÇÛÎó¾ì¹ç¤Ïdelete[] char memorypool[1000] = {}; // ¥á¥â¥ê¡¼¥×¡¼¥ë Player* placeplayer = new(memorypool) Player; // ¥á¥â¥ê¥×¡¼¥ë¤«¤éưŪ¥¤¥ó¥¹¥¿¥ó¥¹²½¡ÊÇÛÃÖnew¡Ë placeplayer->m_HP = 150; printf("placeplayer HP = %d\n",placeplayer->m_HP); Player* placeplayers = new(memorypool + sizeof(Player)) Player[2];// ¥á¥â¥ê¥×¡¼¥ë¤«¤éưŪÇÛÎ󥤥󥹥¿¥ó¥¹²½¡ÊÇÛÃÖnew¡Ë placeplayers[0].m_HP = 10; printf("placeplayers[0] HP = %d\n",placeplayers[0].m_HP); placeplayers[1].m_HP = 20; printf("placeplayers[1] HP = %d\n",placeplayers[1].m_HP); // ¥á¥â¥ê¥×¡¼¥ë¤Ï¼«Æ°Åª¤Ë²òÊü¤µ¤ì¤ë¤Î¤Ç // placeplayer¤Ïdelete¤¹¤ëɬÍפʤ· // placeplayers¤Ïdelete[]¤¹¤ëɬÍפʤ· return 0; }
½¬ÆÀ¤Ë¤Ï¼«Ê¬¤ÇŬÅö¤Ê¥¯¥é¥¹¤òÄêµÁ¤·¤Æ¥¬¥ó¥¬¥ó»È¤Ã¤Æ¤ß¤ë¤ÈÎɤ¤¤È»×¤¤¤Þ¤¹¡£