c++实验报告二(构造函数、析构函数)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;

}

运行结果:

相关文档
最新文档