#include "iostream"
using namespace std;
class Hero
{
public:
int viability;//生存能力
int attack;//攻击伤害
virtual void skill1(){cout<<"英雄释放了一技能.\n";}
virtual void skill2(){cout<<"英雄释放了二技能.\n";}
virtual void uskill(){cout<<"英雄释放了大招.\n";}
};
class XS:public Hero//西施派生类
{
public:
void skill1(){cout<<"西施释放了一技能.\n";}
void skill2(){cout<<"西施释放了二技能.\n";}
void uskill(){cout<<"西施释放了大招.\n";}
};
class LB:public Hero//
{
public:
void skill1(){cout<<"李白释放了一技能.\n";}
void skill2(){cout<<"李白释放了二技能.\n";}
void uskill(){cout<<"李白释放了大招.\n";}
};
class HX:public Hero//
{
public:
void skill1(){cout<<"韩信释放了一技能.\n";}
void skill2(){cout<<"韩信释放了二技能.\n";}
void uskill(){cout<<"韩信释放了大招.\n";}
};
int main()
{
//根据用户选择英雄,施展一技能,二技能和大招.
int id=0;//英雄的id.
cout<<"请输入英雄(1-西施,2,-韩信,3-李白):";
cin>>id;
// if(id==1)//西施
// {
// XS h;
// h.skill1();
// h.skill2();
// h.uskill();
// } else if(id==2)//韩信
// {
// HX h;
// h.skill1();
// h.skill2();
// h.uskill();
// } else if(id==3)//李白
// {
// LB h;
// h.skill1();
// h.skill2();
// h.uskill();
// }
Hero* ptr=nullptr;
if(id==1)//1-西施
{
ptr=new XS;
} else if(id==2)//2-韩信
{
ptr=new HX;
} else if(id==3)//3-李白
{
ptr=new LB;
}
if(ptr!= nullptr)
{
ptr->skill1();
ptr->skill2();
ptr->uskill();
delete ptr;
}
}
输出:请输入英雄(1-西施,2,-韩信,3-李白):2
韩信释放了一技能.
韩信释放了二技能.
韩信释放了大招.
发表回复