程序代码:
#include
using namespace std;
class SmallPlant//小型植物
{
public:
//攻击力
virtual int AttackPower()
{
return 10;//攻击力为10
}
};
class Zombie//僵尸
{
public:
//攻击力
int DestoryPower()
{
return 15;//攻击力为15
}
};
//植物大战僵尸
void Attack(SmallPlant *p, Zombie *z)
{
if(p->AttackPower() > z->DestoryPower())
{
cout<
}
else
{
cout<
}
}
//小型植物派生出大型植物
class BigPlant : public SmallPlant
{
public:
//攻击力
int AttackPower()
{
return 20;//攻击力为15
}
};
void main()
{
SmallPlant p;//小型植物
Zombie z;//僵尸
BigPlant p1;//大型植物
//植物大战僵尸
Attack (&p, &z);
Attack(&p1, &z);
system("pause");
}
执行结果:
原文:http://blog.csdn.net/u010105970/article/details/39401177