问题及代码:
/*
*Copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:zwj.cpp
*作 者:张伟晶
*完成日期:2016年3月26日
*版 本 号:v1.0
*
*问题描述:设计一个游戏中角色的类,定义其中的变量,使角色可以改变状态,析构函数,退出江湖
*输入描述:根据提示,输入选项
*程序输出:角色的状态
*/
#include<iostream>
using namespace std;
class role
{
public:
void eat();
void attack();
void beattack();
bool isalived();
void setrole(string name,int b);
void show();
~role();
private:
string name;
int blood;
bool life;
};
bool role::isalived()
{
if(blood>0)
return true;
else
return false;
}
void role::eat()
{
if(isalived())
blood+=1;
}
void role::attack( )
{
if(isalived())
blood+=1;
}
void role::beattack()
{
if(isalived())
blood-=1;
}
void role::setrole(string nam ,int b)
{
name=nam;
blood=4;
}
void role::show()
{
if(blood>0)
cout<< name<< " has "<<blood<<" blood,it is alived."<<endl;
else
cout<< name<< " was over."<<endl;
}
role ::~role()
{
cout<<name<<"退出江湖";
cout<<"\n";
};
int main()
{
role mary;
mary.setrole("mary",4);
role jack;
jack.setrole("jack",4);
mary.show();
jack.show();
int n;
while(n>0)
{
int n;
cout<<" mary: attack:1 beattack:2 eat:3 "<<endl;
cout<<" jack: attack:4 beattack:5 eat:6 "<<endl;
cout<<"please choose your activity:";
cin>>n;
if(n==1)
mary.attack();
else if(n==2)
mary.beattack();
else if(n==3)
mary.eat();
else if(n==4)
jack.attack();
else if(n==5)
jack.beattack();
else if(n==6)
jack.eat();
else
break;
cout<<"\n";
mary.show();
cout<<"\n";
jack.show();
cout<<"\n\n\n\n";
}
return 0;
}
运行结果:
知识点总结:
类,对象,析构函数
学习心得:
持续努力,保持激情。