第五周项目(3)-设计游戏角色(2)-析构函数

来源:互联网 发布:mac os10.13锐捷 编辑:程序博客网 时间:2024/06/05 23:21


/*
*copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:hellow.cpp
*作者:田甜
*完成日期:2016年3月31日
*版本号:v1.0
*
*问题描述:设计一个游戏角色类

*输入描述:输入角色姓名,生命值
*程序输出:角色当前状态,并在角色使用结束后输出退出江湖
*/

问题及代码:

#include <iostream>using namespace std;class Role{public:    Role(string nam,int blo);    ~Role();    void shoe_role();    bool is_alived();    void attack();    void be_attacked();    void eat(int d);private:    string name;    int blood;    bool life;};Role::Role(string nam,int blo)//构造函数{    name=nam;    blood=blo;    if(blood>0)        life=true;    else        life=false;}Role::~Role()//析构函数{    cout<<name<<"退出江湖。。。"<<endl;}void Role::shoe_role()//显示角色状态{    cout<<name<<" has "<<blood<<" blood, it is ";    if(is_alived())    cout<<"alived."<<endl;    else    cout<<"died."<<endl;}void Role::eat(int d)//吃东西涨血,涨d个血{    if(is_alived())        blood+=d;}void Role::attack()//攻击其他玩家,涨一个血{    if(is_alived())        blood++;}void Role::be_attacked()//被攻击,失一个血{    if(is_alived())        blood--;}bool Role::is_alived()//判断角色是否死亡{    if(blood>0)        life=true;    else        life=false;    return life;}int main(){    Role mary("mary",4);    Role jack("jack",2);    mary.attack();    jack.be_attacked();    mary.shoe_role();    jack.shoe_role();    mary.attack();    jack.be_attacked();    mary.eat(2);    mary.shoe_role();    jack.shoe_role();    return 0;}

运行结果:

心得:构造函数的名字与类名相同,且没有类型。析构函数在主函数中不需要语句调用就可自动执行

0 0
原创粉丝点击