#include <iostream>
using namespace std;
class HeroFighter {
public:
virtual int Power() {
return 10;
}
protected:
private:
};
class AdvHeroFighter : public HeroFighter{
public:
int Power() {
return 20;
}
protected:
private:
};
class Adv2HeroFighter : public HeroFighter {
public:
int Power() {
return 30;
}
protected:
private:
};
class EnemyFighter{
public:
int attack() {
return 15;
}
protected:
private:
};
void objPlay(HeroFighter *pHf, EnemyFighter *pEf) {
if (pHf->Power() < pEf->attack()) {
cout << "英雄战机defeat" << endl;
} else {
cout << "英雄战机win" << endl;
}
}
void main01() {
HeroFighter hf;
EnemyFighter ef;
AdvHeroFighter advHf;
if (hf.Power() < ef.attack()) {
cout << "英雄战机战力打不过敌方战机" << endl;
}
else {
cout << "英雄战机战力能战胜敌方战机" << endl;
}
if (advHf.Power() < ef.attack()) {
cout << "英雄战机战力打不过敌方战机" << endl;
}
else {
cout << "英雄战机战力能战胜敌方战机" << endl;
}
system("pause");
}
void main() {
HeroFighter hf;
EnemyFighter ef;
AdvHeroFighter advHf;
Adv2HeroFighter adv2Hf;
objPlay(&hf, &ef);
objPlay(&advHf, &ef);
objPlay(&adv2Hf, &ef);
system("pause");
}