第七周项目3-用多个文件组织多个类的程序

来源:互联网 发布:金蝶在线软件 编辑:程序博客网 时间:2024/05/17 22:58
/* *Copyright(c) 2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:my.cpp *作    者:张瀚文 *完成日期:2016年4月20日 *版 本 号:v1.0 * *问题描述:用多文件组织多个类 *输入描述: *程序输出: *///主函数#include <iostream>#include "cla.h"using namespace std;int main(){    Role mary("mary",100,"sword",10);    Role jack("jack",100,"axe",5);    mary.showmessage();    jack.showmessage();    mary.attack(jack);    mary.eat(2);    jack.eat(4);    mary.showmessage();    jack.showmessage();    return 0;}

//头文件

#ifndef CLA_H_INCLUDED#define CLA_H_INCLUDED#include<iostream>#include"cla.h"using namespace std;class Weapon{    public:      int damage();    Weapon(string ww_name,int ww_damage);private :int w_damage;string w_name;}  ;class Role{    public:    Role(string x,int n,string ww_name,int ww_damage):name(x),blood(n),weapon(ww_name,ww_damage){} ;    void setRole(string x,int n,string w_name,int w_damage);    void showmessage();    void attack(Role &x);    void eat(int x);    bool staus();    private:    string name;    int blood;    bool life;  Weapon weapon;};#endif // CLA_H_INCLUDED

//功能函数

#include<iostream>using namespace std;#include"cla.h"int Weapon::damage(){    return w_damage;}Weapon::Weapon(string ww_name,int ww_damage):w_name(ww_name),w_damage(ww_damage){};bool Role::staus(){    if(blood>0)    life=true;    else    life=false;          return life;  } void Role::showmessage() {     if(staus())     cout<<name<<" the blood:"<<blood<<endl<<"stuas:"<<" alive"<<endl;     else     cout<<"dead"<<endl; } void Role::attack(Role &x) {     if(staus())     {         blood+=weapon.damage();     x.blood-=weapon.damage();     if(x.blood<0)     x.life=false;     } } void Role::eat(int x) {     blood+=x; }
//运行结果  



0 0
原创粉丝点击