第6周项目2 武器友元类

来源:互联网 发布:猜数字java 编辑:程序博客网 时间:2024/05/22 14:19
/* *copyright(c) 2016,烟台大学计算机学院 *All rights reserved *文件名称:test.cpp *作者:李硕 *版本:Code::Blocks * *问题描述:宣告主权 *输入描述: *程序输出:*/#include <iostream>using namespace std;class Role{    friend class Weapon;public:    void eat(int x);    void attack();    void beAttack();    bool isAlived();    void setRole(string n, int b);    void show(); //显示private:    string name;    int blood;    bool life;};class Weapon{public:    void dabaojian(Role &);//被大宝剑攻击    void xiaolidao(Role &);//被小李刀攻击    void usedbj(Role &);//使用攻击    void usexld(Role &);//使用攻击private:    Role mary;} ;void Weapon::dabaojian(Role &mary){    mary.blood=mary.blood-4;}void Weapon::xiaolidao(Role &mary){mary.blood=mary.blood-2;}void Weapon::usedbj(Role &mary){    mary.blood=mary.blood+3;}void Weapon::usexld(Role &mary){    mary.blood=mary.blood+1;}void Role::eat(int x){    if(isAlived())        blood=blood+x;}void Role::attack(){        blood++;}void Role::beAttack(){    if(isAlived())        blood--;    if(blood==0)        life=false;}bool Role::isAlived(){        if(blood>0)        life=true;    else        life=false;    return life;}void Role::setRole(string n, int b){    name=n;    blood=b;    cout<<"初始值是:"<<endl;}void Role::show(){    cout<<name<<" 's "<<blood<<" blood is ";    if(isAlived())        cout<<"islive.";    else       {           cout<<"dead."<<endl;           cout<<"GG"<<endl;       }    cout<<endl;}int main( ){    Role mary;    Weapon Weaponattack;    mary.setRole("Mary", 1);    mary.show();    mary.attack();    mary.eat(2);    Weaponattack.dabaojian(mary);    Weaponattack.usedbj(mary);    mary.eat(0);    Weaponattack.xiaolidao(mary);   mary.beAttack();    mary.show();       return 0;}<img src="http://img.blog.csdn.net/20160414203546629?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

0 0
原创粉丝点击