2017-教学大纲-《面向对象程序设计实验》

《面向对象程序设计实验》课程教学大纲

第六次实验: 友元的使用方式

1.学时:2课时; 2.实验类型:验证性实验 3.实验目的:

(1)了解友元机制的由来和本质; (2)理解友元机制的主要作用;

(3)掌握友元函数、友元成员和友元类的声明、定义和使用方法,并注

意友元机制的安全风险问题。

4.实验内容:

实验题目1:友元函数的声明、定义和使用 (1)程序功能简介

编程实现一个类的友元函数的声明、定义和使用代码。 (2)程序设计要求

① 采用声明和定义分开的方式实现一个类的友元函数;

② 通过调用友元函数,实现对一个类内所有访问权限的成员进行访问,验证友元机制。 (3)程序设计说明

① 参考教材例4.2(见P86)、例4.3(见P86)、例4.4(见P87)。 (4)撰写实验报告

参考实验报告模板。

实验题目2:友元成员和友元类的声明、定义和使用 (1)程序功能简介

编程实现一个类的友元成员和友元类的声明、定义和使用代码。 (2)程序设计要求

① 采用声明和定义分开的方式实现一个类的友元成员和友元类; ② 通过调用友元成员以及友元类的对象,实现对一个类内所有访问权限的成员进行访问,验证友元机制。 (3)程序设计说明

① 参考教材例4.5(见P91)、例4.6(见P92)、例4.7(见P93)。 (4)撰写实验报告

参考实验报告模板。

实验题目3:利用友元机制计算两点之间的距离 (1)程序功能简介

设计一个点(Point)类,其中包括一对坐标数据成员、一个求两点之间距离的友元接口和显示坐标点的成员函数,并用数据进行测试。 (2)程序设计要求

① 首先,采用友元函数distance()的方式实现友元接口; ② 其次,采用友元成员distance()的方式实现友元接口; ③ 最后,尝试采用友元类的方式实现友元接口。 (3)程序设计说明

① 在头文件中声明类,在程序文件中定义类的成员函数; ② 采用构造函数进行对象的初始化;

③ 对于友元成员和友元类两种实现方式,可以另外定义一个求解两点距离的ComputeDistance类,将distance()作为该类的成员函数。 (4)撰写实验报告

参考实验报告模板。

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4