您的位置:首页 > 编程语言 > C语言/C++

一个关于带武器的游戏角色类

2016-04-05 19:46 281 查看
/*  Copyright  (c)  2016

*    All rights reserved

*    文件名称:3.cpp

*   作者:刘丽

*   完成日期:2016年 4  月 7日

*   版本号: v1.0

*

*   问题描述:一个关于带武器的游戏角色类

*/

#include <iostream>
#include<string>

using namespace std;
class Role;
/***************************************/
class  arms
{
friend class Role;
private:
string name;
int powers;
int  quality;

public:
arms(string="0" ,int=2 ,int=1);
};
arms::arms(string name,int powers,int quality):name(name),powers(powers),quality(quality)
{
}
/*****************************/
class Role
{
public:
Role( string name,int power,int blood);
void show();
void beattack(int n);
void eat(int n);
int attack();
void take();
void broke();
void put();

private:
int blood;
int power;
string name;
arms dao;

};
Role::Role( string name,int power,int blood):name(name),power(power),blood(blood)
{
}
void Role::show()
{

if(blood)
cout<<name<<" has "<<blood<<",he is alive."<<endl;
else
cout<<name<<" is died."<<endl;

}
void Role::eat(int n)
{
blood+=n;

}
void Role::take()
{
power+=dao.powers;
}
void Role::put()
{
power-=dao.powers;
}
void Role::broke()
{
dao.powers=0;
}
void Role::beattack(int n)
{
blood-=n;
if(blood<0)
blood=0;
}
int Role::attack()
{
return power;
}
int main()
{
Role Mary("mary",1,5),Tom("Tom",1,4);
Mary.show();   Tom.show();
Mary.take();
Mary.beattack(Tom.attack());
Mary.show();
Tom.beattack(Mary.attack());
Tom.show();
Tom.take();
Tom.beattack(Mary.attack());
Tom.show();

return 0;

}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ class 初学 函数