第七周上机实践项目——项目3-用多文件组织多个类的程序
来源:互联网 发布:精点数据公司怎么样 编辑:程序博客网 时间:2024/06/02 12:30
/* *Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:main.cpp *作 者:郭永恒 *完成日期:2016年4月14日 *版 本 号:v1.0 * *问题描述:将上一周“项目2-带武器的游戏角色”用“一个项目多个文件”的方式实现 */
main.cpp(测试):
#include "Role_Weapon.h"int main(){ Role Jack; Role Mark; Jack.setRole(); Mark.setRole(); Jack.show(); Mark.show(); Jack.attack(Mark); Mark.beAttack(Jack); Jack.show(); Mark.show(); return 0;}
Role_Weapon.h(类的声明):
#include <iostream>#include <string>#ifndef ROLE_WEAPON_H_INCLUDED#define ROLE_WEAPON_H_INCLUDEDclass Weapon//武器{public: Weapon(std::string tname = " ",int tforce = 0,int tweight = 0,int tlength = 0)//构造函数 :name(tname),force(tforce),weight(tweight),length(tlength){} void SetData() { std::cout << "请输入武器的名字、威力、重量、长度:" << std::endl; std::cin >> name >> force >> weight >> length; } void ShowData(){std::cout << "武器名称:" << name << "\n武器威力:" << force << "\n武器重量:" << weight << "\n武器长度:" << length << std::endl;} int suck_blood(){return force;} ~Weapon(){}//析构函数private: std::string name = " ";//武器名称 int force = 0;//武器威力 int weight = 0;//武器质量 int length = 0;//武器长度};class Role{public: Role(std::string nam = " ",int blo = 0, std::string tname = " ",int tforce = 0,int tweight = 0,int tlength = 0): name(nam),blood(blo),arm(tname,tforce,tweight,tlength){life = blo > 0 ? true : false;} ~Role(){std::cout << name << "退出江湖..." << std::endl;} void setRole(); void show(); void attack(Role& Rname); void eat(int food); int RtRoforce(){return arm.suck_blood();} void beAttack(Role& Rname);private: std::string name; int blood; bool life; Weapon arm;};#endif // ROLE_WEAPON_H_INCLUDED
Function.cpp(函数定义):
#include "Role_Weapon.h"void Role::setRole(){ std::cout << "请输入角色名称、血量:"<< std::endl; std::cin >> name >> blood; life = blood > 0 ? true : false; arm.SetData();}void Role::show(){ std::cout << name << " has" << blood << " blood,it is " << (blood > 0 ? "alived." : "died.") << std::endl; arm.ShowData();}void Role::attack(Role& Rname){ //被攻击血量 被攻击血量 武器威力 Rname.blood = Rname.blood - RtRoforce();}void Role::beAttack(Role& Rname){ blood = blood - Rname.RtRoforce();}void Role::eat(int food){blood = blood + food;}
0 0
- 第七周上机实践项目——项目3-用多文件组织多个类的程序
- 第五周上机实践项目3——用多文件组织多个类的程序
- 第七周实践项目3————用多文件组织多个类的程序
- 第七周实践项目-用多文件组织多个类的程序
- 第六周上机实践项目——用多文件组织多个类的程序
- 第五周上机实践项目3-用多文件组织多个类的程序
- 第11周上机实践项目3——程序的多文件组织
- 第三周上机实践项目3——程序的多文件组织
- 第七周上机实践项目3:文件组织多个程序类
- 第七周项目3-用多文件组织多个类的程序
- 第七周项目3-用多文件组织多个类的程序
- 第七周项目3-用多文件组织多个类的程序
- 第七周项目3——用多文件组织多个类的程序
- 第七周项目3—用多文件组织多个类的程序
- 第七周项目3—用多文件组织多个类的程序
- 第七周项目三 用多文件组织多个类的程序
- 第七周项目三-用多文件组织多个类的程序
- 第七周项目三 用多文件组织多个类的程序
- oracle 监听配置
- C++单向链表-查找某个节点
- 第五周长方柱类
- algrothm_(?+100=c方&?+268=b方)
- 第七周项目1-成员函数、友元函数和一般函数的区别
- 第七周上机实践项目——项目3-用多文件组织多个类的程序
- 第七周项目1--求两点间的距离
- 【数据结构】Orthogonal-List 十字链表(更新时间:2016-04-15)
- 第四周项目五(3)-用递归方法求解
- 第五周项目一三角形类雏形
- Objective-C的属性(property)解析:
- 双目视觉测距,目标点三维信息求其深度值
- algrothm_素数(101-200)
- 成员函数友员函数与一般函数有区别(1)