实验11 成员函数和友元函数
【实验目的】
1、 熟练掌握类和对象的定义、使用方法;
2、 学会使用友元函数和友元类;
3、 会用类和对象解决一般应用问题。
【实验题目】
必做:
1、P177习题 6.5-1 定义矩形类,增加成员函数如下:
(1)无参构造函数,将矩形的长宽设置为0,并输出本函数被调用的相关信息;
(2)两个参数的构造函数,将矩形的长宽分别设置为两个形参的值,并输出本函数被调用的相关信息;
(3)析构函数,输出析构函数被调用的相关信息。
用主函数通过实例验证各个函数。源程序名xt6.5-1`.cpp。【参考例6.2】
2、P177习题 6.5-2 定义计算器类。含两个数据成员(两个浮点数),六个成员函数(构造、加、减、乘、除、打印),并编写主函数验证。源程序名xt6.5-2.cpp。
【提示】类的框架及主函数:(也可不按此模式,只要能实现即可)
#include
class ASMD
{
public:
//【补充代码】
private:
double x,y;
};
void main()
{
ASMD a(40,8);
a.Print();
a.Addition(); //求和并输出
a.Subtration();
a.Multiply();
a.Divison();
}
运行结果:
x=40, y=8
x+y=48
x-y=32
x*y=320
x/y=5
Press any key to continue
去年试题选做:
第一套:
1、
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
点(Point)类,有两个数据成员、八个成员函数和一个友元函数:
1) 数据成员(私有)
1 double X;// 横坐标
2 double Y;//纵坐标
2) 成员函数(公有)
1 默认构造函数:将横坐标和右上角点的坐标设置0,输出默认构造函数被调用的信息;
2 两个参数的构造函数:两个参数分别用来初始化横坐标和纵坐标,输出该构造函数被调用的信息;
3 设置横坐标(SetX)函数:根据参数来设置或者修改横坐标;
4 设置纵坐标(SetY)函数:根据参数来设置或者修改纵坐标;
5 获得横坐标(GetX)函数:返回横坐标;
6 获得纵坐标(GetY)函数:返回纵坐标;
7 打印输出(Print)函数:输出该点的坐标信息,形式类似于(3,2.5)的形式;
8 析构函数:输出析构函数被调用的信息;
2、 设计一个友元函数distance,该函数是点类的友元函数,可以求得两个给定Point类对象距离。友元函数的说明:friend double distance(Point x,Point y);
3、 主函数已经给出,给出了两个测试数据,主函数不允许做任何改动。
#include
#include
//补充点类的定义和友元函数的定义与实现
void main()
{ Point c1,c2(5,5);//定义了两个点类的对象
cout<<"c1的横坐标为:"<
//补充矩形类的定义和友元函数的定义与实现
void main()
{ Rectangle r1,r2(5,10);//定义两个矩形类的对象
r1.SetLength(3);//设置r1矩形的长为3
r1.SetWidth(14);//设置r1矩形的宽为14
r1.Print();//输出矩形r1的相关信息
int c=compare(r1,r2);//比较两个矩形面积的大小
if(c==1) cout<<"c1的面积大于c2的面积。"<
本文档为【实验11 成员函数`友元函数】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。