第七周项目三 用多文件组织多个类的程序
来源:互联网 发布:ipad限制应用访问网络 编辑:程序博客网 时间:2024/05/18 03:25
文件1 main.cpp
/*copyright(c)2016.烟台大学计算机学院 * All rights reserved, * 文件名称:text.Cpp * 作者:舒文超 * 完成日期:2016年4月10日 * 版本号:vc++6.0 * * 问题描述: 用多文件组织多个类的程序之带武器的游戏角色类,体会这样做的优点 */#include <iostream>#include "game.h"using namespace std;int main( ){ Role mary("Mary",500,"TuLong",200); Role jack("Jack",10,"YiTian",180); cout<<"---begin---"<<endl; mary.show(); jack.show(); cout<<"---1st round---"<<endl; jack.attack(mary); mary.show(); jack.show(); cout<<"---2nd round---"<<endl; mary.attack(jack); mary.show(); jack.show(); cout<<"---end---"<<endl; return 0;}
文件2 part.h 对所用到的类进行声明
#ifndef GAME_H_INCLUDED#define GAME_H_INCLUDEDusing namespace std;class Weapon{public: Weapon(string wnam, int f); int getForce();private: string wname; //名称 int force; //威力};class Role{public: Role(string nam, int b, string wnam, int f); //构造函数 ~Role(); //析构函数 void eat(int d); //吃东西,涨d血 void attack(Role &r); //攻击别人,自己涨血,同时失血 bool isAlived(); //是否活着 void show(); //显示private: string name; int blood; Weapon weapon; bool life;};#endif // GAME_H_INCLUDED
文件3 role.cpp 对人物类进行声定义
#include <iostream>#include "game.h"using namespace std;Role::Role(string nam, int b, string wnam, int f):name(nam),blood(b),weapon(wnam,f){ if(blood>0) life=true; else life=false;}Role::~Role(){ cout<<name<<"退出江湖..."<<endl;}void Role::eat(int d) //吃东西,涨d血{ if(isAlived()) blood+=d;}void Role::attack(Role &r) //攻击别人,涨1血{ if(isAlived()) { blood+=weapon.getForce(); r.blood-=weapon.getForce(); if(r.blood<=0) r.life=false; }}bool Role::isAlived() //是否活着{ return life;}void Role::show() //显示{ cout<<name<<" has "<<blood<<" blood, it is "; if(isAlived()) cout<<"alived."; else cout<<"dead."; cout<<endl;}
文件4 weapon.cpp 对武器类进行定义
#include <iostream>#include "game.h"using namespace std;Weapon::Weapon(string wnam, int f):wname(wnam),force(f) {}int Weapon::getForce(){ return force;}#include <iostream>#include "game.h"using namespace std;Weapon::Weapon(string wnam, int f):wname(wnam),force(f) {}int Weapon::getForce(){ return force;}
PS:以上代码是在贺老师的上周任务的基础上进行的修改!!!
0 0
- 第七周项目三 用多文件组织多个类的程序
- 第七周项目三-用多文件组织多个类的程序
- 第七周项目三 用多文件组织多个类的程序
- 第七周项目三-用多文件组织多个类的角色
- 第七周项目3-用多文件组织多个类的程序
- 第七周实践项目-用多文件组织多个类的程序
- 第七周项目3-用多文件组织多个类的程序
- 第七周项目3-用多文件组织多个类的程序
- 第五周项目三:-用多文件组织多个类的程序
- 第五周 项目三--用多文件组织多个类的程序
- 第五周项目三 用多文件组织多个类的程序
- 第五周项目三 用多文件组织多个类的程序
- 第五周 项目三 用多文件组织多个类的程序
- 第七周上机实践项目——项目3-用多文件组织多个类的程序
- 第七周项目4:用多文件组织多个类的程序(1)
- 第七周项目4:用多文件组织多个类的程序(2)
- 第七周项目4:用多文件组织多个类的程序(3)
- 第七周实践项目3————用多文件组织多个类的程序
- OSI七层模型的功能以及设备
- Kettle环境搭建
- Android自定义属性时TypedArray的使用方法
- 第七周项目2—友元类
- 最全的android模拟器使用--ADB命令的介绍和解析
- 第七周项目三 用多文件组织多个类的程序
- UDP通讯协议
- Proxool的连接方法:
- 消元法求主元素之个人见解
- C语言实现队循FIFO缓冲区-《30天自制操作系统》
- AngularJS_1 基本语法
- tableView中deselectRowAtIndexPath的作用 TableView didSelectRowAtIndexPath 不执行
- 使用apktool工具遇到could not decode arsc file的解决办法
- @import导入外部样式表与link链入外部样式表的区别