


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+程序设计实践8C+程序设计实践上机指导书(第八次)专业计算机科学与技术班级学号姓名沈阳工程学院信息学院实践成绩评价说明1)上机前充分准备实践材料,对上机内容有程序草稿。(10分)2)独立完成实践任务,对实践过程非常活晰。(30分)3)认真理解知识点,能够与理论知识相结合。(10分)4)在机房遵守上机守则,接受实践指导教师的监督与管理。(20分)5)认真填写实践指导书,写出实践小结。(10分)6)在实践中具备一定的创新思想,能够主动与指导教师探讨。(5分)7)加大实践工作量,主动完成实践指导书中的选做题目。(5分)8)掌握程序调试的方法,认真完成程序调试工作,使程序能够运行(10分)。上机八
2、类与对象(四)1、学习类的组合;2、体会类的组合的构造函数的使用方式;3、理解利用友元关系实现数据共享的机制4、掌握类的友元函数以及友元类的实现方法;一、要求:1. 在上课之前,每一个同学必须将题目、程序编写完毕,做好充分的准备。2. 所有环节均由每位同学独立完成,严禁抄袭他人结果。三、步骤和内容1、定义点类,使用友元函数计算两点间的距离,体会友元函数的使用2、在题目1的基础上,设计一个类Trig,给定三角形的三个定点的坐标(平面直角坐标系)要求:a)用一个友元函数计算三角形面积。b)将友元函数存放在一个类中,并将该类修改为类Trig的友元类注:三角形的面积公式为:已知三角形三边a,b,c,则
3、(海伦公式)(p=(a+b+c)/2)S=.,p(pa)(pb)(pc)3、设计一个类Sample,它有两个私有数据成员a和n(a中元素的个数)。请对a中数据进行排序,并将排序函数作为友元函数或者放在类process中。四、思考题1、在类的组合中,构造函数的声明顺序是怎样的?2、友元关系可以传递么?为什么说不要过多的使用友元关系?五、结果分析1、定义点类,使用友元函数计算两点间的距离,体会友元函数的使用#include<iostream>#include<cmath>usingnamespacestd;classTrigpublic:Trig(intm,intn)x1=
4、m;y1=n;Trig(doublea,doubleb,doublec)x=a;y=b;z=c;friendadd(Trig&a,Trig&b,Trig&c,Trig&d)doubles1,s2,s3,s4,area1,area2,p,s;s1=sqrt(fabs(a.x1-b.x1)*fabs(a.x1-b.x1)+fabs(a.y1-b.y1)*fabs(a.y1-b.y1);s2=sqrt(fabs(a.x1-c.x1)*fabs(a.x1-c.x1)+fabs(a.y1-c.y1)*fabs(a.y1-c.y1);s3=sqrt(fabs(c.x1-b.
5、x1)*fabs(c.x1-b.x1)+fabs(c.y1-b.y1)*fabs(c.y1-b.y1);s4=0.5*(s1+s2+s3);area1=sqrt(s4*(s4-s1)*(s4-s2)*(s4-s3);p=0.5*(d.x+d.y+d.z);area2=sqrt(p*(p-d.x)*(p-d.y)*(p-d.z);s=area1+area2;returns;private:intx1,y1;doublex,y,z;intmain()TrigA(1,0),B(0,4),C(0,0),D(3,4,5);doubless;ss=add(A,B,C,D);cout<<&quo
6、t;两个三角形面积的和:"<<endl;cout<<ss<<endl;return0;2、在题目1的基础上,设计一个类Trig,给定三角形的三个定点的坐标(平面直角坐标系)要求:a)用一个友元函数计算三角形面积。b)将友元函数存放在一个类中,并将该类修改为类Trig的友元类注:三角形的面积公式为:已知三角形三边a,b,c,则(海伦公式)(p=(a+b+c)/2)S=.;p(pa)(pb)(pc)#include<iostream.h>#include<math.h>classCpointpublic:floata1,b1;C
7、point(floati,floatj)/构造函数a1=i;b1=j;classtriaprivate:doubleL1,L2,L3,s;public:doublearea;CpointA,B,C;/类Cpoint下的三个对象tria(floatafloatb,floatc,floatd,floate,floatf):A(a,b),B(c,d),C(e,f)/初3. 始化列表(L1=sqrt(A.a1-B.a1)*(A.a1-B.a1)+(A.b1-B.b1)*(A.b1-B.b1);L2=sqrt(A.a1-C.a1)*(A.a1-C.a1)+(A.b1-C.b1)*(A.b1-C.b1);
8、L3=sqrt(B.a1-C.a1)*(B.a1-C.a1)+(B.b1-C.b1)*(B.b1-C.b1);s=(L1+L2+L3)/2);area=sqrt(s*(s-L1)*(s-L2)*(s-L3);friendvoidprint(triaD);voidprint(triaD)(cout<<D.area<<endl;/三角形面积的输出voidmain()(triaD(4.0,2.0,3.0,4.0,5.0,6.0);print(D);Pressanykeytocontinue设计一个类Sample,它有两个私有数据成员a和n(a中元素的个数)。请对a口中数据进行
9、排序,并将排序函数作为友元函数或者放在类process中。#include<iostream>usingnamespacestd;classprocess;classSample(public:Sample(intn1)(n=n1;a=newintn;friendprocess;voidinput()(for(inti=0;i<n;i+)cin>>ai;cout<<endl;private:intn,*a;classprocess(public:voidpaixu(Sample&s)(for(intj=0;j<s.n-1;j+)for(inti=0;i<s.n-1-j;i+)if(s.ai>s.ai+1)(intt;t=s.ai;s.ai=s.ai+1;s.ai+1=t;cout<<"thesortednumber:"<<endl;for(inti=0;i<s.n;i+)cout<<s.ai<<'t'cout<<endl;intmain()(intn;cout<<"inputnnumber:"<<endl;cin>>
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 厂房混凝土外包合同范本
- 购买贵金属代办合同范本
- 重型自卸车销售合同范本
- 普通公路施工安全协议书
- 厂内电瓶车维修合同范本
- 怎样拟一份合同协议模板
- 茶叶种植合同协议书模板
- 名宿租房后续协议书范本
- 轻卡车出售转让合同范本
- 企业代他人采购合同范本
- 酒店工程技能培训
- 农贸综合体项目可行性研究报告
- 向量数量积说课课件-2023-2024学年高一下学期数学人教A版(2019)必修第二册
- 血液透析护理质量指标评价标准
- 管理学基础(第三版) 课件 徐洪灿 第1-5章 管理概述-组织与组织设计
- TCAWAORG 014-2024 老年综合评估及干预技术应用规范
- 《中国园林艺术文化》课件
- 汽车配件营销与管理
- 高压氧对脑卒中恢复期患者神经功能的影响
- 《企业能源审计》课件
- 《红楼梦》(解析版)
评论
0/150
提交评论