C第二次实验.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C第二次实验.doc》由会员分享,可在线阅读,更多相关《C第二次实验.doc(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、天津理工大学计算机与通信工程学院实验报告2019 至 2019 学年 第 二 学期课程名称高级语言程序设计实验( 2 )实验名称复杂形式的对象实验时间 2019 年 4 月 14 日 第 3 节 至 第 6 节学号姓名专业信息安全主讲教师唐召东辅导教师唐召东软件环境VC+6硬件环境PC机实验目的(1)掌握对象数组、对象指针的使用方法;(2)掌握对象数组、对象指针和对象引用作为函数参数的使用方法;(3)掌握类对象作为成员的使用方法;(4)掌握友元的概率和使用方法;(5)掌握静态数据成员和静态成员函数的使用方法;(6)进一步了解C+面向对象程序设计的基本思想、基本方法和基本步骤;实验内容(应包括实
2、验题目、实验要求、实验任务等)二、练习项目:1. Time类的框架定义如下:class Time/声明Time类public:Time( int = 0, int = 0, int = 0 ); / 带默认参数的构造函数/ set functionsvoid setTime( int, int, int );/ 设置hour, minute, second void setHour( int );/ 设置hour (确保数据在合理范围) void setMinute( int );/ 设置minute (确保数据在合理范围) void setSecond( int );/ 设置second (
3、确保数据在合理范围) / 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 - 59int second; / 0 - 59; / Timel类定
4、义结束(1) 按照注释的要求完成所有成员函数的定义;(2) 在主程序中定义Time类对象,通过对象指针或引用调用上述成员函数以测试其正确性。2.设计一个用来表示直角坐标系的Location类,在主程序中创建类Location的两个对象A和B,要求A的坐标在第3象限,B的坐标点在第2象限,分别采用成员函数和友元函数计算给定两个坐标点之间的距离,要求按如下格式输出结果:A(x1, y1), B(x2, y2)Distance1=d1Distance2=d2其中:x1, x2, y1, y2为指定的坐标值,d1和d2为两个坐标点之间的距离。Location类框架可参考如下:class Locatio
5、n/声明类Locationpublic:Location(double,double);/构造函数double Getx();/成员函数,取x坐标的值double Gety();/成员函数,取y坐标的值double distance1(Location&);/成员函数,求两坐标点之间的距离friend double distance2(Location&, Location&);/友元函数,求两坐标点之间的距离 private:double x,y;3.使用C+的string类,将5个字符串按逆转后的顺序显示出来。例如,逆转前的5个字符串是:Germany Japan America Brit
6、ain France逆转后的顺序输出字符串是:France Britain America Japan Germany4.设计一个模仿类magic来实现4*4的魔方阵。类的框架如下:class magic/声明魔方阵类magicpublic:void getdata();/输入初值成员函数void setfirstmagic();/设置初始魔方成员函数int generate();/生成最终魔方成员函数int printmagic();/显示魔方成员函数private:int m44;int step;int first;int sumj;所谓4*4的魔方阵,是指该矩阵的各行值的和等于各列值的
7、和,并等于两对角线值的和,如:,其各行、各列以及对角线值的和都是64。求4*4的魔方阵的一般步骤提示如下:(1) 设置初始魔方的起始值和相邻元素之间的差值。例如上述魔方阵的初始魔方的起始值和相邻元素之间的差值分别为:first=1, step=2(2) 设置初始魔方元素的值。例如上述魔方的初始魔方阵为: (3) 生成最终魔方阵。方法如下:求最大元素和最小元素的和sum,本例为1+31=32。用32减去初始魔方阵所有对角线上元素的值,然后将结果放在原来的位置,即可求得最终的魔方阵。本例最终魔方阵为:(4)编写主程序,通过对象指针或引用调用上述成员函数以测试所设计的魔方类的正确性.5.声明一个Em
8、ployee类,数据成员包括:一个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类publ
9、ic:Employee(long, char*, char*, double ); / 构造函数Employee();/ 析构函数/ set functionsvoid set_id(long);/ 设置idvoid set_salary(double);/ 设置salary void set_name(char * );/ 设置name void set_address(char* );/ 设置adress / get functionslong get_id();/ 返回id double get_salary();/ 返回 salary char* get_name();/ 返回 nam
10、e char* get_addressSecond();/ 返回 address void print();/ 打印输出Employee的相关信息 private: long id;/ 工号 char *name;/ 姓名 char *address;/ 家庭住址 double salary;/ 月薪; / Employee类声明结束6.声明一个Student类,在该类中包括一个数据成员:score(代表课程成绩)、两个静态数据成员:total_score(代表总分),count(代表学生总人数)。成员函数有:构造函数、析构函数、account(int)用于设置分数、静态成员函数sum()返回
11、所有学生的总成绩、静态成员函数average()返回所有学生的平均成绩、print()用于打印当前学生对象的成绩等。在主程序中,输入某班同学的成绩,并调用上述函数打印全班同学的成绩、求出全班学生的成绩之和与平均分等。Student类的框架可参考:class Student/声明Student类public:Student(int );/ 构造函数Student();/ 析构函数void account(int);/ 设置分数static int sum();/ 返回总成绩static double average();/ 返回平均成绩void print();/ 打印输出Student的相关信
12、息private: int score;/ 分数 static int total_score;/ 总分 static int count;/ 总人数; / Student类声明结束注意:静态成员和非静态成员的初始化方式的区别。实验过程与实验结果(可包括实验实施的步骤、算法描述、流程、结论等)1. 源代码:#includeusing namespace std;class Timepublic:Time(int = 0,int = 0,int = 0);void setTime(int,int,int);void setHour(int);void setMinute(int);void se
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二次 实验
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内