- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
高级程序设计题ex2
实验二
(2010-11-6)
实验名称:
复杂形式的对象。
实验目的:
(1)掌握对象数组、对象指针的使用方法;
(2)掌握对象数组、对象指针和对象引用作为函数参数的使用方法;
(3)掌握类对象作为成员的使用方法;
(4)掌握友元的概念和使用方法;
(5)掌握静态数据成员和静态成员函数的使用方法;
(6)进一步了解C++面向对象程序设计的基本思想、基本方法和基本步骤;
练习项目
类的定义和指针使用
Time类的框架定义如下:
class Time //声明Time类
{
public:
Time( int = 0, int = 0, int = 0 ); // 带默认参数的构造函数
// set functions
void setTime( int, int, int ); // 设置hour, minute, second
void setHour( int ); // 设置hour (确保数据在合理范围)
void setMinute( int ); // 设置minute (确保数据在合理范围)
void setSecond( int ); // 设置second (确保数据在合理范围)
// get functions
int getHour(); // 返回 hour
int getMinute(); // 返回 minute
int getSecond(); // 返回 second
void printUniversal(); // 按24小时格式输出时间:23:56:12
void printStandard(); // 按12小时格式输出时间:11:56:12 (PM) 或 9:23:55(AM)
private:
int hour; // 0 - 23 (24小时格式)
int minute; // 0 - 59
int second; // 0 - 59
}; // Timel类定义结束
按照注释的要求完成所有成员函数的定义;
在主程序中定义Time类对象,通过对象指针上述成员函数以测试其正确性:
Timer *pt=new Timer(12, 59, 59 );
pt-printUniversal();
pt-printStandard();
友元函数、引用参数传递
设计一个用来表示直角坐标系的Location类,
Location类框架可参考如下:
class Location //声明类Location
{
public:
Location(double,double); //构造函数
double Getx(); //成员函数,取x坐标的值
double Gety(); //成员函数,取y坐标的值
double distance1(Location);//成员函数,求两坐标点之间的距离
friend double distance2(Location, Location);//友元函数,求两坐标点之间的距离
private:
double x,y;
};
在主程序中创建类Location的两个对象A和B,分别采用成员函数和友元函数计算给定两个坐标点之间的距离,要求按如下格式输出结果:
A(x1, y1), B(x2, y2)
Distance1=d1
Distance2=d2
其中:x1, x2, y1, y2为指定的坐标值,d1和d2为两个坐标点之间的距离。
3.数组对象
声明一个Employee类,数据成员包括:一个long型的id,两个字符指针成员,代表职员的姓名和家庭住址,一个double数据,代表月薪。成员函数有:构造函数、析构函数、set_salary()和get_salary()代表修改和获取薪资、set_name()和get_name()代表修改和获取姓名、set_address()和get_address()代表修改和获取家庭住址,set_id()和get_id()用来修改获取当前职员的id号。在主程序中,创建对象数组调用上述函数以测试Employee类设计的正确性。Employee类的框架可参考:
class Employee //声明Employee类
{
public:
Employee(long, char*, char*, double ); // 构造函数
~Employee(); // 析构函数
// set functions
void set_id(long); // 设置id
void set_salary(double); // 设置salary
void s
文档评论(0)