第六周实践项目2————设计武器类

来源:互联网 发布:java源代码怎么运行 编辑:程序博客网 时间:2024/06/06 03:08

问题及代码:

/*copyright(c)2016.烟台大学计算机学院   * All rights reserved,   * 文件名称:text.Cpp   * 作者:吴敬超   * 完成日期:2016年4月5日   * 版本号:vc++6.0   *   * 问题描述:武器类 * 输入描述:   * 程序输出: 输出结果   */
#include<iostream>using namespace std;class Weapon{public:    Weapon(string name1,int n);    int iforce();private:    string name0;    int force;};Weapon::Weapon(string name1,int n):name0(name1),force(n){}int Weapon::iforce(){    return force;}class Role{public:    Role(string name2,int x,string name1,int n);    ~Role();    void eat();    void attack(Role &r);    bool live();    void show();private:    string name;    int blood;    Weapon weapon;    bool life;};Role::Role(string name2,int x,string name1,int n):name(name2),blood(x),weapon(name1,n){    if(blood>0)    {        life=true;    }    else    {        life=false;    }}Role::~Role(){    cout<<name<<"退出江湖"<<endl;}void Role::attack(Role &r){    if(live())    {        blood=weapon.iforce();        r.blood=weapon.iforce();        if(r.blood<=0)        {            r.life=true;        }    }}bool Role::live(){    return life;}void Role::show(){    cout<<name<<" has "<<blood<<"blood,it is ";    if(live())    {        cout<<"alive"<<endl;    }    else    {        cout<<"dead"<<endl;    }}int main( ){    Role mary("Mary", 500, "TuLong",200);    Role jack("Jack", 10, "YiTian", 180);    cout<<"---开始---"<<endl;    mary.show();    jack.show();    cout<<"---第一回合---"<<endl;    jack.attack(mary);    mary.show();    jack.show();    cout<<"---第二回合---"<<endl;    mary.attack(jack);    mary.show();    jack.show();    cout<<"结束"<<endl;    return 0;}

运行结果:


0 0