c++实验报告二(构造函数、析构函数)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
太原工业学院计算机工程系
return 0;
}
(3)使用带默认参数值的构造函数,不给定实参时,默认边长为1;注意——这个版本也只需要一个构造函数即可。需要的测试函数是:
int main()
{
Triangle Tri1; //定义边长为1 1 1的三角形类实例
Tri1.showMessage();
Triangle Tri2(1.5);//定义边长为1.5 1 1的三角形类实例
Tri2.showMessage();
Triangle Tri3(1.5,1.5);//定义边长为1.5 1.5 1的三角形类实例
Tri3.showMessage();
Triangle Tri4(7,8,9); //定义边长为7 8 9的三角形类实例
Tri4.showMessage();
return 0;
}
(4)在构造函数中使用参数初始化表对数据成员初始化。
这是一种更加提倡的写法。测试函数同(1)。
【项目2-游戏中的角色类】
(1)基于下面设计的游戏中角色类,补充完整需要的成员函数,使角色能一定的规则行动或改变状态。下面代码中包含的是最基本的要求,可以根据你的设计进行扩充。
class Role
{
public:
......
private:
string name;
int blood;
bool life;
};
int main()
{
Role mary;
mary.setRole(“mary”,4);//设置角色的姓名为“mary”,血量为4
mary.show();//显示
mary.attack();//攻击别人,涨1个血
mary.eat(2);//吃东西,涨2个血
mary.beAttack();//被攻击,失1个血,血量为0死掉
mary.beAttack();//被攻击,失1个血,血量为0死掉
mary.show();//显示
return 0;
}
(2)设计构造函数,使角色对象在创建时被初始化;设计析构函数,当角色对象被撤消时,提示一句“XXX(名称)退出江湖…”。可以用下面的代码进行测试:int main()
{
Role mary(“Mary”,4);
Role jack(“Jack”,0);
mary.show();
jack.show();
return 0;
}
#include"Triangle.h"
int main()
{
Triangle Tri(3,4,5); //定义三角形类的一个实例对象/*Triangle Tri1;
Tri1.showMessage();
Triangle Tri2(1.5);
Tri2.showMessage();
Triangle Tri3(1.5,1.5);
Tri3.showMessage();
Triangle Tri4(7,8,9);
Tri4.showMessage();*/
Tri.showMessage();
return 0;
}
运行结果:
项目二:
//Role.h
#include
#include
using namespace std;
class Role
{
public:
//Role(string ,int );
void setRole(string n,int b);
//~Role(); //析构函数
void show();
void attack();
void eat(int );
void beAttack();
bool isAlived(); //是否活着
private:
string name;
int blood;
bool life;
};
//Role.cpp
#include
#include"Role.h"
#include
using namespace std;
/*Role::~Role()
{
cout< }*/ bool Role::isAlived() { return life; } Role mary; mary.setRole("Mary",4);//设置角色的姓名为“mary”血量为4 mary.show();//显示 mary.attack();//攻击别人,涨1个血 mary.eat(2);//吃东西,涨2个血 mary.beAttack();//被攻击,失1个血,血量为0死掉 mary.beAttack();//被攻击,失1个血,血量为0死掉 mary.show();//显示 return 0; } 运行结果: