- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
01. 分析以下程序的执行结果
02. #includeiostream.h
03. class Sample
04. {
05. int n;
06. public:
07. Sample(int i){n=i;}
08. friend int add(Sample s1,Sample s2);
09. };
10. int add(Sample s1,Sample s2)
11. {
12. return s1.n+s2.n;
13. }
14. void main()
15. {
16. Sample s1(10),s2(20);
17. coutadd(s1,s2)endl;
18. }
19.
20. 解:
21. 本题说明了友元函数的使用方法。add()是一个友元函数,它返回两个引用对象的n 值之和。
22. 所以输出为: 30
23.
24. 注意:友元函数不是类的成元函数
25.
26.
27.
28. 02.分析以下程序的执行结果
29. #includeiostream.h
30. class B;
31. class A
32. {
33. int i;
34. public:
35. int set(B);
36. int get(){return i;}
37. A(int x){i=x;}
38. };
39. class B
40. {
41. int i;
42. public:
43. B(int x){i=x;}
44. friend A;
1
45. };
46. int A::set(B b) // 由于使用了类B 的定义,故本函数的定义应放在类B 定义之后
47. {
48. return i=b.i;
49. }
50. void main()
51. {
52. A a(1);
53. B b(2);
54. couta.get(),;
55. a.set(b);
56. couta.get()endl;
57. }
58.
59. 解:
60. 本题说明友元类的使用方法。这里将类A 设置为类B 的友元类,因此,类A 的所有成员函数均为类B
的友元函数。通过调用a.set(b)将b 对象的i 值赋给a 对象的i 值。
61. 所以输出为:1,2
62.
63.
64.
65. 03.有一个学生类student,包括学生姓名、成绩,设计一个友元函数,比较两个学生成绩的高低,并求
出最高分和最低分的学生。
66. 解:
67. #includeiostream.h
68. #includestring.h
69. class student
70. {
71. char name[10];
72. int deg;
73. public:
74. student(char na[],int d)
75. {
76. strcpy(name,na);
77. deg=d;
78. }
79. char *getname(){ return name;}
80. friend int compare(student s1,student s2)
81. {
82. if(s1.degs2.deg)
83. return 1;
84. else if(s1.deg==s2.deg)
85. return 0;
86. else return - 1;
2
87. }
88. };
89. void main()
90. {
91. student st[]={student(王华,78),student(李明,92),student(张伟,62),student(孙强,88)};
92. int i,min=0,max=0;
93. for(i=1;i4;i++)
94. {
95. if(compare(st[max],st[i])==-1)
96. max=i;
97. else if(compar
您可能关注的文档
最近下载
- 《陆上风力发电机组钢混塔架施工与质量验收规范》编制说明.pdf VIP
- 苏J/T16-2004(二)建筑外保温构造图集(二)挤塑聚苯乙烯泡沫塑料板外保温系统.docx VIP
- 公路水运施工企业安全生产管理人员培训课件.ppt
- 华东交通大学2010—2011学年考试卷《复变函数》期末试卷.doc VIP
- 南京开通KT820数控车床说明书.pdf VIP
- 县卫生健康局副局长2025年度民主生活会个人对照检查材料(五个带头).docx VIP
- 班会少年强则国强.ppt VIP
- 《版权所有侵权必究》课件.ppt VIP
- 《SWOT分析法介绍》课件.ppt VIP
- 2023-2024学年河南省郑州市郑东新区四年级(上)期末数学试卷(全解析版).docx VIP
原创力文档


文档评论(0)