- Äɲ䵤줿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
- ºï½ü¤µ¤ì¤¿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
a
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])