C++作业79.docx
- 文档编号:1448178
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:23
- 大小:186.69KB
C++作业79.docx
《C++作业79.docx》由会员分享,可在线阅读,更多相关《C++作业79.docx(23页珍藏版)》请在冰豆网上搜索。
C++作业79
C++作业(7-9)
实验报告
课程名称面向对象程序设计
专业班级
姓名
学号
计算机技术与工程学院
和谐勤奋求是创新
实验类别
验证
同组人数
1
成绩
指导教师签字:
实验七利用友元编程
一、实验目的
1.掌握友元函数和友元类的概念、定义和作用。
2.会使用友元编程。
3.进一步学习内存空间动态分配和释放的方法。
二、实验内容
1.有一个向量类Vector,包括一个点的坐标位置x和y,设计两个友元函数,实现两个向量的加法和减法运算。
2.定义一个由y=ax+b确定的直线类Line,该类的构造函数初始化直线,成员函数Print显示该直线方程,友元函数SetPoint()求解两条直线的交点。
3.下列程序是有关友元类的,程序中将A类声明为B类的友元类,A类中所有的成员函数都是B类的友元函数,请给程序填空。
#inlcude
classB;
classA
{
private:
intx;
public:
A(intxx){x=xx;}
intSet(B&);
intGet(){returnx;}
};
classB
{
private:
intx;
public:
B(intxx){①}
friend②
};
intA:
:
Set(③)
{returnx=b.x;}
voidmain()
{Aa(10);
Bb(20);
cout< a.Set(b); cout< } 三、实验步骤 1.运用学过的知识,实验前在纸上写出程序。 2.根据程序要求,先定义类,包括其数据成员和成员函数。 3.分析使用的是友元类还是友元函数,通过友元要处理哪些问题。 4.在主函数中完成相应的功能。 5.上机编辑、编译、调试和运行,并修改错误。 四、实验报告 1.写出实验目的。 2.写出实验内容和程序清单。 3.说明对编程分析、运行结果、难点、解决方法、结论和编程体会。 二.实验内容 1.#include classVector { public: Vector(doublem=0,doublen=0) { x=m; y=n; } voiddisplay() { cout<<"("< } friendVectoroperator+(Vector&a,Vector&b) { Vectort; t.x=a.x+b.x; t.y=a.y+b.y; returnt; } friendVectoroperator-(Vector&a,Vector&b) { Vectort; t.x=a.x-b.x; t.y=a.y-b.y; returnt; } ~Vector() {} private: doublex,y; }; voidmain() { Vectora1(6,8),a2(9,5),a3,a4; cout<<"向量a1="; a1.display(); cout<<"向量a2="; a2.display(); a3=a1+a2; cout<<"a1+a2="; a3.display(); a4=a1-a2; cout<<"a1-a2="; a4.display(); } 2. 2.定义一个由y=ax+b确定的直线类Line,该类的构造函数初始化直线,成员函数Print显示该直线方程,友元函数SetPoint()求解两条直线的交点。 #include usingnamespacestd; classLine { public: Line(doublem=0,doublen=0) { a=m; b=n; } voidprint() {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 作业 79
![提示](https://static.bdocx.com/images/bang_tan.gif)