C++¹ÖºÂ7²ó¤Ç¤¹¡£ ¥ª¡¼¥Ð¥é¥¤¥É¤Ë¤Ä¤¤¤Æ¤ÎÀâÌÀ¤Ç¤¹¡£ º£²ó¤Î¥µ¥ó¥×¥ë &ref(override.zip); ´ðÄ쥯¥é¥¹¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë´Ø¿ô¤ÈƱ̾¤Ç°ú¿ôÌá¤êÃͤ¬Æ±¤¸´Ø¿ô¤òÇÉÀ¸¥¯¥é¥¹¤ËÄêµÁ¤¹¤ë¤È ÇÉÀ¸¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ç¤Î¤½¤Î´Ø¿ô¤Î¸Æ¤Ó½Ð¤·¤ÏÇÉÀ¸¥¯¥é¥¹¤ÎÊý¤¬¸Æ¤Ð¤ì¤ë ¤³¤Î¤è¤¦¤Ë¥á¥ó¥Ð´Ø¿ô¤òÇÉÀ¸¥¯¥é¥¹¤Ç¾å½ñ¤¤¹¤ë¤³¤È¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤È¸Æ¤Ó¤Þ¤¹¡£ ¥ª¡¼¥Ð¥é¥¤¥É¤ÎÍÑÅӤȤ·¤Æ¤Ï ´ðÄ쥯¥é¥¹¤ÈÇÉÀ¸¥¯¥é¥¹¤Çµ¡Ç½¤ò°ã¤¦¤è¤¦¤Ë¤·¤¿¤¤¾ì¹ç¤Ë»È¤ï¤ì¤Þ¤¹¡£ ¶ñÂÎÎã¤ò¼¨¤·¤Þ¤¹ ·Ñ¾µ¸å¡¢Æ±Ì¾¤Î¥á¥ó¥Ð´Ø¿ô¤òÄêµÁ¤·¤¿¾ì¹ç¡¢ÇÉÀ¸¥¯¥é¥¹Â¦¤Î´Ø¿ô¤¬Í¥À褵¤ì¤Þ¤¹ class Super{ public: void Func(){ printf(¡ÈCall Super\n¡É); } // ¡ }; class Sub : public Super { public: void Func(){ printf(¡ÈCall Sub\n¡É); } // ¢ }; int main(){ Super super; super.Func(); // ¡¤¬¸Æ¤Ð¤ì¤ë Sub sub; sub.Func(); // ¢¤¬¸Æ¤Ð¤ì¤ë¡Ê¾å½ñ¤¤µ¤ì¤¿Func¤ò¸Æ¤Ö¡Ë return 0; } ·Ñ¾µ¸å¡¢Æ±Ì¾¤Î¥á¥ó¥Ð´Ø¿ô¤òÄêµÁ¤·¤¿¾ì¹ç¡¢ÇÉÀ¸¥¯¥é¥¹Â¦¤Î´Ø¿ô¤¬Í¥À褵¤ì¤Þ¤¹ Á´¥½¡¼¥¹¥³¡¼¥É¤Ç¤¹ º£²ó¤Î¥µ¥ó¥×¥ë¤Ç¤¹ ÇÉÀ¸¥¯¥é¥¹¤Ë¤è¤Ã¤ÆSell¥á¥ó¥Ð´Ø¿ô¤ò¥ª¡¼¥Ð¥é¥¤¥É¤·¤Æ¤¤¤ë¤¿¤á ¸Æ¤Ó½Ð¤µ¤ì¤ëSell¥á¥ó¥Ð´Ø¿ô¤¬°Û¤Ê¤ê¤Þ¤¹ // main.cpp #include <iostream> /////////////////////////////////////////// // ¾¦¿Í¥¯¥é¥¹ class Merchant{ public: void Sell(); }; void Merchant::Sell(){ printf("¤Ø¤¤¡¢¤¤¤é¤Ã¤·¤ã¤¤¡ª¤è¤í¤º²°¤À¤è\n"); } /////////////////////////////////////////// // Éð´ï¾¦¿Í¥¯¥é¥¹ class WeaponMerchant : public Merchant { public: // ¥ª¡¼¥Ð¡¼¥é¥¤¥É void Sell(); }; void WeaponMerchant::Sell(){ printf("Éð´ï¤Ï¤¤¤«¤¬¤«¤Í¡©\n"); } /////////////////////////////////////////// // ¥¢¥¤¥Æ¥à¾¦¿Í¥¯¥é¥¹ class ItemMerchant : public Merchant { public: // ¥ª¡¼¥Ð¡¼¥é¥¤¥É void Sell(); }; void ItemMerchant::Sell(){ printf("¥¢¥¤¥Æ¥à¤Ï¤¤¤«¤¬¤Ç¤¹¤«¡©\n"); } /////////////////////////////////////////// int main(){ Merchant merchant; merchant.Sell(); printf("\n"); WeaponMerchant weaponmerchant; weaponmerchant.Sell(); printf("\n"); ItemMerchant itemmerchant; itemmerchant.Sell(); printf("\n"); return 0; } #vote(ok¡¢¼¡¹Ô¤³¡¢¼¡[0],¡Ê¡¨¡°¦Ø¡°¡Ë¡©[0])