ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:186.69KB ,
资源ID:1448178      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1448178.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++作业79.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++作业79.docx

1、C+作业79C+作业(7-9)实 验 报 告课程名称 面向对象程序设计 专业班级 姓 名 学 号 计算机技术与工程学院和谐 勤奋 求是 创新实验类别验证同组人数1 成 绩指导教师签字:实验七 利用友元编程一、实验目的1掌握友元函数和友元类的概念、定义和作用。2会使用友元编程。3进一步学习内存空间动态分配和释放的方法。二、实验内容1有一个向量类Vector,包括一个点的坐标位置x和y,设计两个友元函数,实现两个向量的加法和减法运算。2定义一个由y=ax+b确定的直线类Line,该类的构造函数初始化直线,成员函数Print显示该直线方程,友元函数SetPoint()求解两条直线的交点。3. 下列程

2、序是有关友元类的,程序中将A类声明为B类的友元类,A类中所有的成员函数都是B类的友元函数,请给程序填空。 #inlcude class B; class A private: int x; public: A(int xx)x=xx; int Set(B&); int Get()return x; ; class B private: int x; public: B(int xx) friend ;int A:Set( ) return x=b.x;void main() A a(10); B b(20); couta.Get()endl; a.Set(b); couta.Get()endl

3、; 三、实验步骤1. 运用学过的知识,实验前在纸上写出程序。2. 根据程序要求,先定义类,包括其数据成员和成员函数。3. 分析使用的是友元类还是友元函数,通过友元要处理哪些问题。4. 在主函数中完成相应的功能。5. 上机编辑、编译、调试和运行,并修改错误。四、实验报告1. 写出实验目的。2. 写出实验内容和程序清单。3. 说明对编程分析、运行结果、难点、解决方法、结论和编程体会。二.实验内容1. #includeclass Vectorpublic: Vector(double m=0,double n=0) x=m; y=n; void display() cout(x,y)endl; fr

4、iend Vector operator+(Vector &a,Vector &b) Vector t; t.x=a.x+b.x; t.y=a.y+b.y; return t; friend Vector operator-(Vector &a,Vector &b) Vector t; t.x=a.x-b.x; t.y=a.y-b.y; return t; Vector() private: double x,y;void main() Vector a1(6,8),a2(9,5),a3,a4; cout向量a1=; a1.display(); cout向量a2=; a2.display();

5、 a3=a1+a2; couta1+a2=; a3.display(); a4=a1-a2; couta1-a2=; a4.display();2.2定义一个由y=ax+b确定的直线类Line,该类的构造函数初始化直线,成员函数Print显示该直线方程,友元函数SetPoint()求解两条直线的交点。#includeusing namespace std;class Linepublic: Line(double m=0,double n=0) a=m; b=n; void print() cout直线y=ax+b;endl; void friend setpoint(Line &L1,Lin

6、e &L2) double x,y; if(L1.a=L2.a) cout两直线平行,无交点; else x=(L1.b-L2.b)/(L2.a-L1.a); y=L1.a*x+L1.b; cout两直线交点为(x,y)endl; Line() private: double a,b; ;void main() Line L1(4,6),L2(9,8); L1.print(); L2.print(); setpoint(L1,L2);3. #include class B; class A private: int x; public: A(int xx)x=xx; int Set(B&);

7、int Get()return x; ; class B private: int x; public: B(int xx) x=xx; friend class A ; ;int A:Set( B&b ) return x=b.x;void main() A a(10); B b(20); couta.Get()endl; a.Set(b); couta.Get()endl; 个人总结: 本次实验目的主要是熟悉使用友元编程,在第一个程序中使用了两个友元函(friend Vector operator+(Vector &a,Vector &b)和friend Vector operator-(

8、Vector &a,Vector &b))数进行对向量的运算,从而实现了向量之间的加减运算,通过主函数赋值,得出运算结果。第二个程序主要实现的是求不同的两二维直线是否相交,若相交求交点的运算,通过友元函数(void friend setpoint(Line &L1,Line &L2))对保护成员的调用,实现了函数功能,最后一个程序是利用友元类来实现函数功能。实验题目实验八 继承和派生的编程实验室9302机房实验时间2015 年 月 日 实验类别验证同组人数1 成 绩指导教师签字:一、实验目的1了解继承在面向对象程序设计中的重要作用。2理解继承与派生的概念,掌握单继承和多继承的定义方法。3熟悉公

9、有派生和私有派生的访问特性。4掌握继承中基类和派生类的构造函数定义和调用过程。5了解虚基类的作用和用法,会使用虚基类,学习虚基类在解决二义性问题中的作用。二、实验内容1有以下程序,请完成下面的工作:(1)阅读程序,写出运行后的输出结果;(2)然后上机运行,验证结果是否正确;(3)分析程序执行过程,尤其是调用构造函数和析构函数的过程。#include class Apublic: A()cout“constructing A”endl; A()cout“destructing A”endl;class B:public Apublic: B()cout“constructing B”endl;

10、B()cout“destructing B”endl;class C:public Bpublic: C()cout“constructing C”endl; C()cout“destructing C”endl;void main() C c1; 2事先编写好程序:分别声明Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部),要求:(1)在两个基类中都包含有姓名、年龄、性别、地址、电话等数据成员;(2)在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务),在Teacher_

11、Cadre类中还包含数据成员wages(工资);(3)对两个基类中的姓名、年龄、性别、地址、电话等数据成员用相同的名字,在引用这些数据成员时,指定作用域;(4)在类体中声明成员函数,在类外定义成员函数;(5)在派生类Teacher_Cadre的成员函数show中调用Teacher类中的display函数,输出姓名、年龄、性别、地址、电话,然后再用cout语句输出职务和工资。三、实验步骤1. 运用学过的知识,实验前在纸上写出程序。2. 根据程序要求,分析用到几个类,哪些是基类,哪些是派生类,采用何种继承方式。3. 先设计基类,再设计派生类,派生类成员函数应该处理哪些数据。4. 在主函数中创建对象

12、,创建基类对象还是派生类对象时,通过对象调用哪些成员函数。注意:基类和派生类的构造函数和析构函数的执行顺序。5. 上机编辑、编译、调试和运行,并修改错误。四、实验报告1. 写出实验目的。2. 写出实验内容和程序清单。3. 写出编程思路和类层次图,体会基类与派生类的关系。4. 说明对编程分析、运行结果、难点、解决方法、结论和编程体会。1.2.#include#includeusing namespace std;class teacherpublic: teacher(string nam,int a,char s,string ad,string tele,string t):name(nam

13、),age(a),sex(s),address(ad),telephone(tele),title(t) void display();protected: string name; int age; char sex; string address; string telephone; string title;void teacher:display() cout姓名:teacher:nameendl; cout年龄:teacher:ageendl; cout性别:teacher:sexendl; cout地址:teacher:addressendl; cout电话:teacher:telephoneendl; cout职称:teacher:titleendl;class cadrepublic: cadre(string nam,int a,char s,string ad,string tele,strin

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1