版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验2 “面向对象程序设计”实验报告专业 计算机科学与技术 班级1301 姓名 邓乾坤 评分 学号2 第 组 2014 年 4 月 28 日 一、实验名称 类和对象(二) 1、 实验目的(1) 进一步加深对类和对象的理解。(2) 掌握类的构造函数和析构函数的概念和使用方法。(3) 掌握对对象数组、对象的指针及其使用方法。(4) 掌握友元的概论和使用。(5) 了解类模板的使用方法。2、实验内容(1)有以下程序: 阅读此程序,分析其执行过程,然后上机运行,对比输出结果。 修改上面的程序,增加一个fun函数,改写main函数。在main函数中调用fun函数,在fun函数中调用change和displ
2、ay函数。在fun函数中使用对象的引用(Student&)作为形参。程序如下:#include using namespace std;class Student private:int num;float score;public:Student(int n, float s):num(n), score(s) void change(int n, float s)num=n;score=s;void display()cout num score endl; ;int main()Student stud(101, 78.5);stud.display();stud.change(101,
3、 80.5);stud.display();return 0; 结果:修改程序如下:#include using namespace std;class Student private:int num;float score;public:Student(int n, float s):num(n), score(s) void fun(Student &);void change(int n, float s)num=n;score=s;void display()cout num score endl; ;void Student:fun(Student &s)s.change(s.num
4、,s.score);s.display();int main()Student stud(101, 78.5);stud.fun(stud);return 0; 结果:(2)商店销售某一商品,商店每天公布统一的折扣(discount)。同时允许销售人员在销售时灵活掌握售价(price),在此基础上,对一次购10件以上者,还可以享受9.8折优惠。现已知当天3个销售员销售情况为销售员号(num)销货件数(quantity)销货单价(price)101523.51021224.5610310021.5请编程序,计算出当日此商品的总销售款sum以及每件商品的平均售价。要求用静态数据成员和静态成员函数.
5、(提示:将折扣discount,总销售款sum和商品销售总件数n声明为静态数据成员,再定义静态成员函数average(求平均售价)和display(输出结果)。程序如下:#include using namespace std;class Saleltempublic:Saleltem(int n,int q,int p):num(n),quantity(q),price(p)void total();static float average();static void display();static int count;private:int num;int quantity;float
6、price;static float sum;static float discount;static int n;float Saleltem:discount=0.05f;float Saleltem:sum =0;int Saleltem:count=0;void Saleltem:total()float rate=1.0f;if (quantity=10)rate=0.98*rate;sum=quantity * price * rate * (1-discount);count +=quantity;float Saleltem:average()return (sum/count
7、);void Saleltem:display()cout sumendl;cout average()endl;int main()Saleltem sale3=Saleltem(101,5,23.5),Saleltem(102,12,24.56),Saleltem(103,100,21.5);for (int i=0;i3;i+)salei.total ();Saleltem:display ();return 0;结果:(3) 有以下程序:请读者分析和运行此程序,注意友元函数Time:display的作用。将程序中的display函数不放在Time类中,而作为类外的普通函数,然后分别在T
8、ime和Date类中将display声明为友元函数。在主函数中调用display函数,display函数分别引用Time和Date两个类的对象的私有数据,输出年、月、日和时、分、秒。程序如下:#include using namespace std;class Date;class Time private:int hour;int minute;int sec;public:Time(int, int, int);void display(Date &);class Date private:int month;int day;int year;public:Date(int, int, i
9、nt);friend void Time:display(Date &); ;Time:Time(int h, int m, int s)hour=h;minute=m;sec=s;void Time:display(Date &d)cout d.month / d.day / d.year endl;cout hour : minute : sec endl;Date:Date(int m, int d, int y)month=m;day=d;year=y;int main()Time t1(10, 13, 56);Date d1(12, 25, 2004);t1.display(d1);
10、 return 0;修改程序如下:#include using namespace std;class Date;class Time private:int hour;int minute;int sec;public:void set_time();friend void display(Date &,Time &);class Date private:int month;int day;int year;public:void set_date();friend void display(Date &,Time &); void Time:set_time()cout hour: ho
11、ur;cout minute: minute;cout sec: sec;void display(Date &d,Time &t)cout d.month / d.day / d.year endl;cout t.hour : t.minute : t.sec endl;void Date:set_date()cout mouth: month;cout day: day;cout year: year;int main()Time t1;Date d1;t1.set_time();d1.set_date();display(d1,t1); return 0;结果:(4)有以下使用类模板程序
12、 运行此程序,体会类模板的作用。 将它改写为在类模板外定义各成员函数。程序如下:#include using namespace std;template class Compareprivate:numtype x,y;public:Compare(numtype a, numtype b)x=a;y=b;numtype max()return (xy)?x:y;numtype min()return (xy)?x:y;int main()Compare cmp1(3,7);cout cmp1.max() is the Maximum of two integer numbers. endl;cout cmp1.min() is the Minimum of two integer number. endl;Compare cmp2(45.78, 93.6);cout cmp2.max() is the Maximum of two float numbers. endl;c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CRIA 17003.2-2024功能鞋 第2部分:防寒评价技术规范
- T/TMAC 163-2025新能源汽车电子后视镜技术要求
- T/GDAF 005-2022广东公共安全技术防范标准化试点管理规范
- T/CI 344-2024低温冷风微量润滑平面磨削加工工艺规范
- T/CAAMTB 94-2022汽车车窗玻璃用加速固化聚氨酯胶粘剂
- T/CPMIA 0107-2026注射成型车间智能制造执行系统 (MES)
- AI在体育教育中的应用
- 2025~2026学年安徽宣城市郎溪县人教版六年级下册期末数学试卷【附答案】
- 2025-2026学年吉林省舒兰市初中数学九年级期末下册自测模拟重点试题(附答案)
- PHP微信开发面试题及详细答案(实战版)
- 2026年重庆丰都县社区工作者招聘考试【结构化面试题库+高分答题模板】(含考官评分要点)
- 统编版九年级上册 道德与法治 第二单元《进入新时代》单元检测试卷(含答案)
- 2026新教材语文 7 培养德智体美劳全面发展的社会主义建设者和接班人 课件
- 2026江西九江长途汽车运输集团有限公司劳动合同制员工招聘4人考试模拟试题及答案解析
- 冷库工程监理实施细则
- 变压器装配工岗中理论实操考核试卷含答案
- 2026国家能源集团榆林化工煤制油重大项目筹建处招聘岗位(74人)笔试历年难易错考点试卷带答案解析
- 2026年国家能源投资集团有限责任公司校园招聘考试题库及答案解析
- 2026年三星 (中国) 半导体有限公司招聘(西安有岗)笔试备考题库及答案详解
- DB37T5324-2025房屋建筑工程施工安全监督技术规程
- XX光伏电站电力网络信息系统安全事故应急预案
评论
0/150
提交评论