




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象程序设计(C+)实验指导一、实验环境本实验基于当前主流的面向对象开发平台,编码规范遵循主流的参考规范。二、编程语言和开发工具C+语言,开发工具不限,建议使用Visual C+ 6.0版本三、 编码规范(编码规范的要求)要求遵循良好的的程序设计习惯来设计实验和编写代码。(注:如果你将程序的很多功能全部放在一个长长的main()主函数中实现,这样的程序设计和编码风格会被扣分,请将不同的功能模块分别用函数来实现。)1在实验过程中应注意培养规范的编码风格:2标识符的命名应要求达到顾名思义的程度,一看就知道用来做什么;3提供足够的注释,注释文字清晰明了;4程序排版的要求:a) 不同功能模块用空行分隔,使功能块一目了然;b) 基本上一条语句一行;同一层次的语句统一缩进对齐。四、实验见后文五、注意事项所有实验要求独立完成,同学之间可以讨论,但严禁抄袭,若发现雷同,抄袭者和被抄袭者此次实验成绩均记零分。实验一 C+基础 (2课时)实验目的和要求:1 掌握C+程序的基本格式与规范,学会编写简单的C+程序。2 理解C+程序结构的特点。3 熟悉C+程序的基本输入输出操作。4 掌握内联函数的使用方法。5 掌握函数重载的定义和使用方法。6 掌握C+内存的动态分配与释放方法。7 理解引用的概念,掌握引用的使用方法。预习内容: cin/cout的使用;new和delete的使用;函数重载;const 常量。实验内容:1、用内联函数编写Fibonacci级数,使用if语句判断函数的出口,在程序中用cout语句输出提示信息,Fibonacci级数的公式为:内联函数inline int fib(int n)。2、程序Ex_Swap实现数据交换。分别用指针和引用作为函数mySwap的形参,并通过重载int、double型变量值的交换。3、设计一个函数,形参是引用类型,要求输入三个整数(cin输入,cout提示输入),按从小到大排序后输出,编程完整的程序并测试。4、程序Ex-Number实现下述功能:由17人围成一个圈,编号117,从第1号开始报数,报到3的倍数的人离开,一直数下去,直到最后只剩下1个人,求此人的编号(要求用new和delete来分配、释放所需内存空间)。5、设计一个简单的计算器,能够进行加法、减法、乘法和除法功能(整数和浮点数)。格式是先输入一个数,然后输入运算符号,输入另一个数字,最后输出结果。(选做)实验二 类与对象(一)(2课时)实验目的和要求:1 掌握类、类的数据成员、类的成员函数的定义方式。2 理解类成员的访问控制方式。3 掌握对象的定义和操作对象的方法。4 理解构造函数和析构函数的定义与执行过程。5 掌握重载构造函数的方法。6 了解拷贝构造函数的方法。 预习内容类(数据成员和成员函数)的定义与访问权限设置;类的构造函数与析构函数的定义与使用。 实验内容: 1、定义一个score类,其中包括私有数据成员和公有成员函数,即num学号Math高等数学成绩English英语成绩Programming程序设计成绩Inscore()输入学号和各科成绩,并计算平均成绩showscore()输出学号和各科成绩使用score类,输入某班n个学生的学号和各科成绩,然后求各个学生的平均成绩,并列表输出学生的学号、各科成绩和平均成绩。2、定义日期类型Date。要求:(1)包含年月日数据成员;提供默认构造函数、带年月日参数的构造函数、和拷贝构造函数;定义set成员函数可以设置日期;日期加一天操作;定义intput成员函数,输入日期信息,输入格式为“YYYY-MM-DD”;定义print成员函数输出对象的日期。(2)编写一个可运行的完整程序,构造3个日期类型的对象,并输出相应的日期信息。 (3) 实现日期类型的对象的加减法运算。3、定义一个类Stock,记录一支股票交易的基本信息,信息包括交易日序号(表示本月的第几个交易日,用整数表示)、当日最高价、当日最低价、 当日开盘价和当日收盘价。尽量发挥想像力,为该类设计成员函数。4、在主函数中建立两个股票对象,分别存储该股票昨天和今天两天的信息,以当日收盘价计算该股票今天的涨幅。实验三 类与对象(二) (2课时)实验目的和要求:1.掌握静态成员的定义与使用。2理解对象指针的概念,学会使用指针引用对象。3了解this指针的工作方式。4掌握静态数据成员和静态成员函数的基本使用方法。5理解友元与友元函数的作用,掌握其使用方法。6. 掌握类的接口与实现的分离技术的使用。预习内容: 指针引用对象;静态成员的定义与使用;友元的使用方法;实验内容: 1使用实验二中的股票类Stock,定义一个对象数组存放连续5个交易日的股票信息。编写一个主函数,计算两个Stock对象(前后两日)的当日收盘价计算当日涨幅。用指针引用对象数组中的两个对象。在主函数中调用该函数计算从第2个交易日开始每天的当日涨幅。2在Stock类中定义一个静态数据成员,记录当前Stock对象的数量。3设计一个成员函数Assign_stock为对象赋值,其中的形式参数是对另一个Stock对象的引用,使用this指针避免对自己的赋值,在主函数中显示用Assign_stock赋值的对象。4定义一个友元函数计算Stock对象的的当日开盘价是否高于当日收盘价。若是,返回真,否则,返回假。实验四 派生类与继承(一) (2课时)实验目的和要求:1.理解类的继承的概念,能够定义和使用类的继承关系。2.掌握派生类的声明与定义方法。3.理解不同的继承类型预习内容: 派生类的声明与定义;不同的继承类型的差异。实验内容:1. 下面是一个含有派生类的程序:#include class A protected:/ private: int m,n; public:void set(int a, int b) m=a; n=b; void show() cout m n endl; ;class B : public A int s; public: void sets() s=m*n ; void shows() cout s endl; ;void main() B obj; obj.set(2,3); obj.show(); obj.sets(); obj.shows();在这个程序中,B类的函数sets()能否访问类A中的变量m和n?为什么?如果在类A中把m和n定义为私有成员,上面的程序能否通过编译?为什么?2定义一个基类MyArray,基类中可以存放一组整数。(实验程序注意保留,下次实验要用)class MyArraypublic:MyArray(int leng); MyArray();void Input();void Display();Protected:int *alist; /指向动态申请的一组空间int length; /整数的个数;要求:(1)基类中有构造函数、析构函数、输入数据和输出数据的函数。(2)定义一个SortArray继承自MyArray,在该类中定义函数实现排序功能。(3)定义一个类ReArray继承自MyArray,在该类中定义函数实现逆转功能。(4)定义一个类AverArray继承自MyArray,在该类中定义函数Aver()求解整数的平均值。3. 建立一个建筑物类的层次体系。其中,基类building包括保护数据成员name(建筑物名称)、floors(层数)和areas(总面积),由building类派生住宅类house和办公楼类office;住宅类house包括私有数据成员rooms(房间数)和balcony(阳台数);办公楼类office包括私有数据成员offices(办公室数)和meetingrooms(会议室数)。住宅类house和办公楼类office都含有构造函数和print函数,以分别用于对数据成员的初始化和输出。在主函数中,实例化house类和office类对象并且将其数据输出。实验五 派生类与继承(二) (2课时)实验目的和要求:1.熟悉公有派生和私有派生的访问特性。2. 掌握单继承与多继承3.学习虚基类在解决二义性问题中的作用。预习内容:公有派生和私有派生的访问特性实验内容:1、定义NewArray类,同时继承了上次实验SortArray、ReArray和AverArray,使得NewArray类的对象同时具有排序、逆转和求平均值的功能。在继承的过程中声明为虚基类,体会虚基类在解决二义性的作用。2、定义一个动物(Animal)基类,具有Age、Weight等数据成员,由Animal类公有派生出鱼(Fish)类、陆地动物(TerrestrialAnimal)类。Fish类有鳍(Fim)属性,TerrestrialAnimal类有腿(Leg)属性。从Fish和TerrestrialAnimal公有派生出爬行动物(Reptile)类,在继承过程中,注意把Animal设置为虚基类。如果不把Animal设置为虚基类,会有什么问题?编程试试看。当一个类有多个类派生而来,每个类的父类最总都归为一个类时,这个时候创建这个最后的子类是就会产生内存中的多份拷贝,为类避免这种现象发生,就要求使用虚继承。虚继承的格式:class 子类:virtual 继承方式 父类 实验六 多态性(2课时)实验目的和要求:1、理解静态多态性和动态多态性。2、掌握虚函数的定义与使用方法。预习内容:静态多态性和动态多态性;虚函数的定义与使用方法。实验内容:1、 (1)定义一个类Animal,该类中可以存放动物的名字,并有一个Identify函数用于显示动物的种类。(2)定义两个类Cat和Dog,都继承自Animal,并重载Identify函数,不但要显示动物的种类,还要显示动物的名字。(3)定义Tiger类,继承自Cat,重载Identify函数,显示动物的种类和名字。2、 定义一个动物园类Zoo,管理动物,根据下面的提示编写动物类及相关函数。class zoopublic:zoo(unsigned int max); /构造函数,max为最多圈养的动物数zoo()delete residents; /析构函数unsigned int Accept(Animal *d); /接收动物void ListAnimals(); /显示动物园所有的动物private:unsigned int maxanimals; /动物园最多能圈养的动物数unsigned int numanimals; /动物园当前圈养的动物数Animal *residents; /指向动物园圈养的动物对象的指针数组3、 编写程序Ex_Shape:定义一个类CShape,包含两个虚函数Area(用来计算面积)和SetData(用来设计形状大小)。然后派生出矩形CRect类、圆CCircle类,分别求其面积。最后定义一个CArea类,计算这几个形状的面积之和,各形状的数据通过CArea类的构造函数或成员函数来设置。实验七 函数模板与类模板(2课时)实验目的和要求:1.掌握函数模板及其声明方法。2.掌握模板函数及其生成方法。3.学习类模板的声明与使用方法。预习内容:模板函数及其生成方法实验内容:1.定义函数模板实现数组的冒泡排序,并在主函数中调用模板函数测试该算法。2. (选做)定义类模板实现栈的基本操作,栈的数据结构用带表头结点的单向链表实现。3. (选做)利用栈的类模板实现将输入的整数转换成八进制并输出。实验八 异常处理(2课时)实验目的和要求:1.正确理解C+的异常处理机制。2.学习异常处理的定义和执行过程。预习内容:异常处理的定义和执行过程实验内容:1. 编写一个程序对一个任意维数组进行键盘赋值,并能够处理数组下标的溢出异常,观察程序执行流程。2.编写一个只能容纳10个整数的队列,当入队元素超出队列容量时,就抛出一个队列已满的异常;如果队列已空还要从中取出元素,就抛出一个队列已空的异常。实验九(综合实验):虚拟新生信息管理系统(8学时)实验目的和要求:1) 巩固和加深学生对C+课程的基本知识的理解和掌握;2) 掌握C+编程和程序调试的基本技能;3) 利用C+进行简单软件设计的基本思路和方法; 4) 训练学生综合运用面向对象程序设计的能力;5) 提高运用C+解决实际问题的能力;6) 掌握书写程序设计说明文档的能力。预习内容:动态内存分配,类与对象的定义,类的静态成员,类的继承方式,派生类对象与基类对象的关系等面向对象程序设计知识。实验内容:设计简易新生信息管理系统(1) 已知技术参数或设计前提1、大学有若干个学院,每个学院有很多新生。有作为自然人的基本信息(如性别、年龄等等),有作为学生的基本信息(学号,成绩等)。2、每个学生都有记录的高考成绩(大学生);或者考研成绩。3、每个同学都有自己的名字(包括同名)、学号,每个人都是固定的,且学号唯一,学号格式按照我校现有格式记录。4、学校每学期都有期中期末考试,记录学生成绩是一个较大的工程。5、在校学生可凭借本人学号和密码查询本人考试成绩及排名。6、专业人员可凭密码查询学生所有信息,包括作为基类对象的信息。(2) 设计内容及要求为简化设计,该系统只针对一年级新生,建立新生信息系统。尽可能的用面向对象程序设计的思想和方法,开发想象力,自己设计合理的数据和操作。按照继承体系来设计学生信息。基类为person,person派生Student,Student派生Graduates和UnderGraduates. 可以不按照此体系,但是必须采用某种合理的继承结构。(3) 采用win32 控制台应用程序的形式开发程序启动后提示画面如下(仅作参考,请自己发挥):1、 录入成绩? Enter 1;2、 修改成绩?. ;3、 删除成绩?. ;4、 查询成绩?;请选择;操作完成后,退回到提示画面等待输入。实验技术性要求1) 实现学生数据录入、修改、删除以及按平均分、单科、总分排名次(2门课程) ;2) 数据录入、修改、删除的工作只能由专门人员负责;3) 在学校专门人员录入、修改成绩等完成以后,学生便可查找自己的信息;4) 查找成绩时需要输人本人学号及口令(预设);5) 学生本人可以修改口令;6) 适当加入异常的处理;7) 基类和派生类功能相似的函数注意设为虚函数。实验报告要求1) 课程设计名称、班级号、学号和学生姓名;2) 课程设计目的和要求;3) 课程设计任务内容;4) 详细设计说明;5) 软件使用说明;6) 课程设计心得与体会;7) 附录1:部分程序清单(带有较详细的注释)。地形平坦开阔,地层由第四系全新冲积层,第四系上更新统冲层组成,局部表覆第四系全新统人工堆积层。第四系全新统冲积层厚度约2550m,岩性主要为黏土、粉质黏土、粉土、粉砂、细砂;第四系上更新统冲积层厚度大于50m,岩性主要为黏性土、粉土、粉细砂等。管桩深度范围内地层主要为:粉土、黏土、粉质黏土,局部表层为杂填土。coupling Centre shall be checked, the second poured concrete strength of more than 70%. In the process of reaming or boring, apart from the special provisions in factory, does not allow any work that may affect the coupling Centre, such as irrigation, to cylinder connections to flood the condenser pipes and so on. Well boring, hinge bolt hole flange with coupling of vertical, not oblique. Mounting bolts should be added lubricants, typing gently with a small hammer, not too loose or too tight, packed the bolts with the corresponding seal screw hole should be marked. 6.4.5.4.2 coupling reamed and pairings is close to the diameter of bolt bearing good hinge holes, dressed with a good two coupling bolts before you can move the rotor, boring-reaming hole in turn. Coupling bolts must be tight coupling is symmetrical diameter, in boring, reaming, two bolts out. Well boring, hinge bolt hole flange with coupling of vertical, not oblique. Due to the coupling bolts in accordance with hinge holes corresponding to the diameter of the screw holes one by one after processing, processing back bolt installation location cannot be changed, so acc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 长春高一年级物理期末试题解析
- 煤矿安全主管述职报告
- 煤矿安全生产管理模式比较研究
- 小学语文识字教学创新方法探究
- 银行风险控制内审流程说明
- 幼师招聘面试试讲教案样本
- 白乳胶性能指标及应用一览表
- 光纤线路故障诊断与维修指南
- 小学一年级秋季语文导学案范文
- 箱式变电站技术交底与安全操作手册
- 健康跑活动安全免责协议书
- 糖尿病肾病治疗指南
- 省级临床重点专科建设项目神经内科重点专科建设实施方案
- 1《中国人民站起来了》课堂实录2024-2025学年高中语文选择性必修上册
- 人教版六年级上册道德与法治教案(5篇)
- 铝加工(深井铸造)企业事故隐患排查清单
- 重庆市渝北区2024年小升初英语试卷( 含笔试解析无听力原文无音频)
- 专题六 6种数学思想在整式乘除中的运用
- 生涯拍卖会课件高一上学期主题班会
- 秋分故昼夜均而寒暑平
- 中医形神兼养
评论
0/150
提交评论