2008面向对象程序设计实验指导
更新时间:2024-03-21 03:13:01 阅读量: 综合文库 文档下载
实验一C++中对C语言的常规扩充(2学时)
一、实验目的
1.熟悉C++开发环境
2.掌握函数重载的方法掌握函数重载方法及定义重载函数时的注意事项 3.掌握指针的定义及使用方法理解动态内存分配意义
4.掌握new和 delete使用方法 5.掌握引用的声明方法及使用
二、实验内容
以下实验内容可根据具体情况选做
1.编写一个函数,统计一个英文句子中字母的个数,在主程序中实现输入输出。 2.编写三个重载函数,分别求两个整数、实数和双精度数中最大的数。 3.用new运算符产生一个一维数组,输入并输出数组中的数据,然后将数组元素颠倒排列后,再次输出各个值。
4.编制程序,调用传递引用的参数,实现两个字符串变量的交换。
5.编写一个参数为指针的函数,判断一个字符串在另一个字符串中是否存在,如果存在,则返回该字符串出现的次数;如果不存在,则返回值为0。编写主函数,对其功能测试。
三、实验要求
实验完毕,提交实验报告。实验报告的内容包括实验目的、实验内容和结果分析,程序的源代码和程序的输入输出数据的情况附到实验报告中,写出程序的调试情况,并对输出结果进行分析。
1
实验二 类与对象(2学时)
一、实验目的
1.掌握类与对象的定义方法,成员函数实现与调用方法
6.深刻领会类与对象的区别,类实现数据隐藏与封装的原理等 3.掌握构造函数和析构的定义方法 4.掌握拷贝构造函数的使用 二、实验内容
以下实验内容可根据具体情况选做 1.定义一个满足如下要求的类Cdate:
(1) 有三个成员数据:年、月、日; (2) 有设置日期的成员函数;
(3) 有用格式“月/日/年”输出日期的成员函数; (4) 有对当前日期加一天的成员函数。 设计出相应的程序测试类的功能
2.完善下列程序,定义每个成员函数和非成员函数,输出必要的信息,检查临时对象何时被创建,何时被析构。
class X { public:
X(int);
X(X&) ~X(); } X f(X); void main()
2
{
X a(1); X b=f(X(2)); a=f(a); }
3.定义一个两点坐标与距离的类,输入坐标上的两点,计算出两点之间的距离,并输出。同时设计出相应的程序测试类的功能。
4.堆栈是一种结构较简单的线性表,它只允许在表的一端进行数据的插入和删除操作,称允许插入和删除的一端为栈顶,另一端为栈底。通常称插入操作为进栈,删除操作为出栈。因为最后进栈的数据必定先出栈,因此栈具有后进先出的重要特性,简称LIFO(Last In Fist Out)。要求定义和实现栈类Stack,并有相应的测试程序。 三、实验要求
在编写程序时将类的定义写成头文件(.h),类的实现写成.cpp文件,测试程序写在另一个.cpp文件,形成多文件结构。
实验完毕,提交实验报告。实验报告的内容包括实验目的、实验内容和结果分析,程序的源代码和程序的输入输出数据的情况附到实验报告中,写出程序的调试情况,并对输出结果进行分析。
3
实验三 静态成员和友元(2学时)
一、实验目的
1.掌握类中静态成员定义方法,掌握静态数据成员初始化方法 2.掌握静态数据成员和静态成员函数的访问和使用方法
3.了解引入友元的目的 4.学会友元函数和友元类的使用 二、实验内容
以下实验内容可根据具体情况选做
1.掌握类中静态成员定义方法,掌握静态数据成员初始化方法
2. 掌握静态数据成员和静态成员函数的访问和使用方法
3.定义一个类Cpoint表示一个点的信息。在此基础上编写一个表示三角形类Triangle,用友元函数计算三角形面积和周长。
4.定义一个学生类和一个全体学生类,利用友元类的方法,实现对学生成绩排序。 三、实验要求
在编写程序时将类的定义写成头文件(.h),类的实现写成.cpp文件,测试程序写在另一个.cpp文件,形成多文件结构。
实验完毕,提交实验报告。实验报告的内容包括实验目的、实验内容和结果分析,程序的源代码和程序的输入输出数据的情况附到实验报告中,写出程序的调试情况,并对输出结果进行分析。
4
实验四 运算符重载(2学时)
一、实验目的
1.理解运算符重载的概念和实质 2.掌握运算符重载函数的定义方法
3.掌握运算符重载为类的成员函数和友元函数的方法 二、实验内容
以下实验内容可根据具体情况选做
1.定义一个Time类,重载一元“++”和二元“+”操作符,使之具有时间相加的功能。 2.定义一个Rectangle类,要求重载运算符“>” 或 “<” 使之实现比较两个矩形对象面积的大小。 3.构造一个分数类rationalNumber,该类中包括分子和分母两个成员数据,并具有下述功能:
(1) 建立构造函数,它能防止分母为零,当分数不是最简形式时进行约分,
并避免分母为负数 (2) 重载加法、减法、乘法以及除法运算符。 (3) 重载关系运算符:>、<、==等。 三、实验要求
在编写程序时将类的定义写成头文件(.h),类的实现写成.cpp文件,测试程序写在另一个.cpp文件,形成多文件结构。
实验完毕,提交实验报告。实验报告的内容包括实验目的、实验内容和结果分析,程序的源代码和程序的输入输出数据的情况附到实验报告中,写出程序的调试情况,并对输出结果进行分析。
5
实验五 继承性与派生类(2学时)
一、实验目的
1.理解派生类与基类的关系 2.理解派生类继承方式 3.掌握单继承和多继承使用方法 二、实验内容
以下实验内容可根据具体情况选做
1.编一个使用派生类的程序,设计一个包含圆和圆柱的几何尺寸的类,它用内部数据建立几何形状并显示它们的尺寸、面积和体积。 2.定义一个存折类,并派生出信用卡类,存折类可以实现开户、存款、取款和查询余额的操作,取款金额必须小于余额,信用卡类对取款操作进行修改,允许透支一定金额。模拟5个人到银行进行存折操作,其中有两个人还进行信用卡交易的过程。试编写一个完整的程序。 3.设计一个圆类和桌子类,再设计一个圆桌类,它是从前两个类派生出来的。要求输出圆桌的高度、面积、颜色等数据。
三、实验要求
在编写程序时将类的定义写成头文件(.h),类的实现写成.cpp文件,测试程序写在另一个.cpp文件,形成多文件结构。
实验完毕,提交实验报告。实验报告的内容包括实验目的、实验内容和结果分析,程序的源代码和程序的输入输出数据的情况附到实验报告中,写出程序的调试情况,并对输出结果进行分析。
6
实验六 运行时的多态性和虚函数(2学时)
一、实验目的
1.深刻理解滞后联编和早期联编的概念
2.掌握虚函数的定义方法及其在实现多态性的作用 3.理解纯虚函数和抽象类的使用意义 二、实验内容
多态性在学校人员信息管理系统中应用。 系统描述:
学校人员信息管理系统的主要功能是对在校人员的信息资料进行管理。在校人员包括学生、教师和行政人员。各系将学生的基本资料如姓名、性别、年龄等及课程成绩输入到系统。教师除了具有学生一样的基本资料(姓名、性别、出生年月)外,还需要记录一些与教学工作相关的信息,如所教课程、所属系部、当前职称等,并希望能够计算每个教师课时工作量。同样行政人员除了具有学生一样的基本资料(姓名、性别、出生年月)外,还有职务,业绩评级等。系统能够随时输入、显示和查询各类人员的相关信息。 三、实验要求
要求掌握面向对象程序设计方法,继承、多态、虚函数和抽象类的概念在程序中的应用。具体按以下方法完成该实验: (1)进行系统分析
在分析过程中首先理解什么是多态性、消息。考虑系统中何处使用多态性技术 (2)类设计
写出类的层次关系,定义抽象类及它的派生类,
写出各个类的数据成员及相应的数据类型,数据的存储方式,成员函数的声明 (3)类的实现
编写类的成员函数实现代码。 (4)测试多态性在系统中作用
编写一个测试程序,编译、调试,最后输出结果。
7
在编写程序时将类的定义写成头文件(.h),类的实现写成.cpp文件,测试程序写在另一个.cpp文件,形成多文件结构。
实验完毕,提交实验报告。实验报告的内容包括实验目的、实验内容、结果分析和体会。程序的源代码和程序的输入输出数据的情况附到实验报告中,写出程序的调试情况,并对输出结果进行分析。
实验七 泛型程序设计和模板(2学时)
一、实验目的
1.理解函数模板与类模板的意义和作用
2.掌握函数模板与类模板的定义方法及在程序中的运用 二、实验内容
以下实验内容可根据具体情况选做
1.用函数模板方式设计可以对某种数据类型的数组中的数据进行从小到大排序,然后用整型数据和字符型数据进行验证。 2.设计一个类模板 template
8
三、实验要求
实验完毕,提交实验报告。实验报告的内容包括实验目的、实验内容和结果分析,程序的源代码和程序的输入输出数据的情况附到实验报告中,写出程序的调试情况,并对输出结果进行分析。
实验八 输入/输出流(2学时)
一、实验目的
1.掌握I/O流的基本使用 2.掌握I/O流的格式控制
3.掌握文件的打开、关闭、读写操作 二、实验内容
以下实验内容可根据具体情况选做
1.编写一个程序能实现复数的输入/输出与复数的加减运算,要求先输入两组复数,然后对两复数分别进行加减运算,并输出原来两组复数及运算后复数的值。
2.编写程序,从键盘输入一个字符串,判断字符串的长度,然后以字符串的长度的两倍作为域宽打印出该字符。
3.编一个程序拷贝文本文件,在拷贝文件过程中,将所有小写改成大写。 4.编写程序,实现两个文本文件的内容连接成一个文件。
三、实验要求
实验完毕,提交实验报告。实验报告的内容包括实验目的、实验内容和结果分析,程序的源代码和程序的输入输出数据的情况附到实验报告中,写出程序的调试情况,并对输出结果进行分析。
9
正在阅读:
2008面向对象程序设计实验指导03-21
我的家星期天作文800字07-03
一阵风吹来作文450字07-01
写青海湖的作文800字07-07
市场推广工作计划【通用9篇】03-23
非洲有什么事是大多数人不知道的汐慕05-14
无约束多维优化坐标轮换法vb编程05-16
传感器习题与思考题2006-答案06-23
9-12%Cr马氏体耐热钢的焊接质量控制07-22
新编基础物理学上册9单元课后答案12-01
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 程序设计
- 面向
- 对象
- 指导
- 实验
- 2008
- 总代理合作协议书标准
- 新课标人教版六年级上册语文教学计划(2014)
- 2019最新苏少版音乐六下《歌声与微笑》教案1
- 编译原理课程设计说明书
- 高支模架搭拆专项施工方案
- 提升我国在全球经济治理中的话语权试题及答案(下)
- 科研工作量量化考核管理办法
- 主管中药师考试专业实践能力复习要点:药物作用的两重性
- 电网企业资金支付的安全管理研究
- 今冬明春火灾防控工作阶段性开展情况汇报
- 关于机器人技术的几个问题
- 描写学校的句子
- 备考2010—《证券投资基金》模拟题及参考答案(一)
- 模板报验申请表
- 全面质量、过程质量、设计质量
- 高密度聚乙烯
- 青春在奉献中闪光-个人先进材料
- 2019最新人教版九年级物理单元测试第十五章单元测试题
- 高三生物错题重组试卷
- 江苏省住宅工程质量分户验收规则 - secret