C++程序设计实践8.doc

C++程序设计实践8.doc

ID:55954269

大小:68.00 KB

页数:8页

时间:2020-06-18

C++程序设计实践8.doc_第1页
C++程序设计实践8.doc_第2页
C++程序设计实践8.doc_第3页
C++程序设计实践8.doc_第4页
C++程序设计实践8.doc_第5页
资源描述:

《C++程序设计实践8.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C++程序设计实践上机指导书(第八次)专业计算机科学与技术班级学号工程学院信息学院实践成绩评价说明1)上机前充分准备实践材料,对上机容有程序草稿。(10分)2)独立完成实践任务,对实践过程非常清晰。(30分)3)认真理解知识点,能够与理论知识相结合。(10分)4)在机房遵守上机守则,接受实践指导教师的监督与管理。(20分)5)认真填写实践指导书,写出实践小结。(10分)6)在实践中具备一定的创新思想,能够主动与指导教师探讨。(5分)7)加大实践工作量,主动完成实践指导书中的选做题目。(5分)8)掌握程序调试的方法,认真完

2、成程序调试工作,使程序能够运行(10分)。上机八类与对象(四)一、目的1、学习类的组合;2、体会类的组合的构造函数的使用方式;3、理解利用友元关系实现数据共享的机制4.掌握类的友元函数以及友元类的实现方法;二、要求:1.在上课之前,每一个同学必须将题目、程序编写完毕,做好充分的准备。2.所有环节均由每位同学独立完成,严禁抄袭他人结果。 三、步骤和容1、定义点类,使用友元函数计算两点间的距离,体会友元函数的使用2、在题目1的基础上,设计一个类Trig,给定三角形的三个定点的坐标(平面直角坐标系)要求:a)用一个友元函数计算

3、三角形面积。b)将友元函数存放在一个类中,并将该类修改为类Trig的友元类注:三角形的面积公式为:已知三角形三边a,b,c,则  (海伦公式)(p=(a+b+c)/2)  S=3.设计一个类Sample,它有两个私有数据成员a[]和n(a中元素的个数)。请对a[]中数据进行排序,并将排序函数作为友元函数或者放在类process中。四、思考题1、在类的组合中,构造函数的声明顺序是怎样的?2、友元关系可以传递么?为什么说不要过多的使用友元关系?五、结果分析1、定义点类,使用友元函数计算两点间的距离,体会友元函数的使用#inc

4、lude#includeusingnamespacestd;classTrig{public:Trig(intm,intn){x1=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)*

5、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.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

6、-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<<"两个三角形面积的和:"<

7、中,并将该类修改为类Trig的友元类注:三角形的面积公式为:已知三角形三边a,b,c,则  (海伦公式)(p=(a+b+c)/2)S=#include#includeclassCpoint{public:floata1,b1;Cpoint(floati,floatj)//构造函数{a1=i;b1=j;}};classtria{private:doubleL1,L2,L3,s;public:doublearea;CpointA,B,C;//类Cpoint下的三个对象tria(floa

8、ta,floatb,floatc,floatd,floate,floatf):A(a,b),B(c,d),C(e,f)//初始化列表{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.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。