搜索
您的当前位置:首页C++程序设计实践指导书9

C++程序设计实践指导书9

来源:飒榕旅游知识分享网


C++程序设计实践上机指导书

(第九次)

专业 班级 学号 姓名

信息学院

实践成绩评价说明

1) 上机前充分准备实践材料,对上机内容有程序草稿。(10分) 2) 独立完成实践任务,对实践过程非常清晰。(30分) 3) 认真理解知识点,能够与理论知识相结合。(10分)

4) 在机房遵守上机守则,接受实践指导教师的监督与管理。(20分) 5) 认真填写实践指导书,写出实践小结。(10分)

6) 在实践中具备一定的创新思想,能够主动与指导教师探讨。(5分) 7) 加大实践工作量,主动完成实践指导书中的选做题目。(5分)

8) 掌握程序调试的方法,认真完成程序调试工作,使程序能够运行(10分)。

2

上机九 类与对象(五) 一、目的 1.理解利用友元关系实现数据共享的机制 2. 掌握类的友元函数以及友元类的实现方法; 3.学习多文件结构在C++程序中的使用。 二、要求: 1. 在上课之前,每一个同学必须将题目、程序编写完毕,做好充分的准备。 2. 所有环节均由每位同学独立完成,严禁抄袭他人结果。 三、步骤和内容 1.测试书中P160例5-6,体会友元函数的使用 2.在例5-6的基础上,设计一个类Trig,给定三角形的三个定点的坐标(平面直角坐标系)要求:a) 用一个友元函数计算三角形面积。 b) 将友元函数存放在一个类中,并将该类修改为类Trig的友元类 注:三角形的面积公式为:已知三角形三边a,b,c,则 (海伦公式)(p=(a+b+c)/2) S=p(pa)(pb)(pc) 3. 设计一个类Sample,它有两个私有数据成员a[]和n(a中元素的个数)。请对a[]中数据进行排序,并将排序函数作为友元函数或者放在类process中。 四、思考题 1、友元函数和友元类的使用 五、结果分析 1. #include #include using namespace std; class Point{ public: Point(int x=0,int y=0):x(x),y(y){} int getX(){return x;} int getY(){return y;} friend float dist(Point &p1,Point &p2);//

3

private: int x,y; }; float dist(Point &p1,Point &p2){ double x=p1.x-p2.x; double y=p1.y-p2.y; return static_cast(sqrt(x*x+y*y)); } int main(){ Point myp1(1,1),myp2(4,5); cout<<\"The distance is:\"; cout< #include using namespace std; class Cpoint { public: float a1,b1; Cpoint(float i,float j)//构造函数 { a1=i; b1=j; } }; class tria { private: double L1,L2,L3,s; public: double area; Cpoint A,B,C;//类Cpoint下的三个对象 tria(float a,float b,float c,float d,float e,float f):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.b1-C.b1)*(A.b1-C.b1)); 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)); } friend void print(tria D); }; void print(tria D) { cout<4

} 3. #include using namespace std; class process; class Sample{ public: Sample(int n1){ n=n1; a=new int[n]; } friend process; void input(){ for(int i=0;i>a[i]; cout<s.a[i+1]) { int t; t=s.a[i]; s.a[i]=s.a[i+1]; s.a[i+1]=t; } cout<<\"the sorted number :\"<>n; Sample a(n); a.input(); process b; b.paixu(a); return 0; } 六、指导教师评阅成绩 5

6

因篇幅问题不能全部显示,请点此查看更多更全内容

Top