面向对象实验
更新时间:2023-09-26 15:36:01 阅读量: 综合文库 文档下载
实验1 环境熟悉和类与对象
1. 实验目的
(1)熟悉上机环境,了解编译过程中常见的错误与解决办法。 (2)学会编写简单的C++程序并会用debug调试程序。 (3)观察构造函数和析构函数的执行过程。 (4)掌握动态内存分配的两个运算符的使用 (5)掌握函数参数的三种传递方式。 (6)学习利用友元求解问题。
2. 实验内容
(1) 定义一个学生类,学生信息有学号、姓名和成绩。成绩包括计算机、英语、 数学成绩和平均分。要求利用队列实现学生的入队、出队和显示等功能。
算法思路:定义一个类Student,数据成员有:学生信息,进行入队、出队和显示操作的front(队头)、rear(队尾)和num(统计队列中元素的个数),其中学生信息定义成结构体类型的数组;成员函数有学生的入队操作、出队操作和显示操作,通过构造函数对学生信息进行初始化。
(2) 定义一个图书类,图书信息有图书名称、作者、出版社、价格。要求利用 栈实现图书的入库、出库和显示等功能。
算法思路:定义一个类Stack,数据成员有:图书信息,进行入库、出库和显示操作的top(栈顶指针),其中图书信息定义成结构体类型的数组;成员函数有图书的入库、出库和显示操作,通过构造函数对图书信息进行初始化。 (3) 有Distance类和Point类,将Distance类定义为Point类的友元类来实现 计算两点之间距离。
(4)定义一个矩形类,用成员函数其周长、面积。
实验2 运算符重载
1. 实验目的
(1)掌握成员函数重载运算符。 (2)掌握友元函数重载运算符。
(3)理解类型转换的必要性,掌握类型转换的使用方法。
2. 实验内容
(1)定义空间中的点类(有x,y,z坐标),并重载其++和—运算符。编写主函数对该类进行应用。
(2)定义一个复数类,并通过定义运算符重载实现两个复数可以判别是否相等(==),并给出主函数应用该类。
(3)重载减法运算符,实现两个字符串相减。
例如:”how are you”-“are”=”how you”
(4)设计人民币类,其数据成员为fen(分)、jiao(角)、yuan(元)。重载这个类的加法、减法运算符。
(5)编写一个程序,用成员函数重载运算符“+”和“?”,实现两个二维数组相加和相减,要求第一个二维数组的值由构造函数设置,另一个二维数组的值由键盘输入。
(6)定义一个计数器类,重载其++和—运算符,并给出main()对该类进行应用。
实验3 组合、继承与多态性
一、实验目的
(1)掌握继承机制。 (2)掌握虚函数。 (3)理解并掌握虚基类。
二、实验内容
(1)编写一个程序:设计一个汽车类,数据成员有轮子个数、车重。小车类是汽车类的私有派生类,包含载客量。卡车类是汽车类的私有派生类,包含载客数和载重量。每个类都有数据的输出方法。
(2)虚基类为Shape,从Shape派生出矩形类(左上角点、宽、高)、椭圆类(横轴、纵轴)。给出各个类的构造函数,成员初始化,在基类中定义虚函数GetArea()(计算面积),在派生类中改写。写出该程序的实现。
(3)定义一个基类BaseClass,从它派生出类DerivedClass,BaseClass有成员函数fn1()、fn2(),fn1()是虚函数,DerivedClass也有成员函数fn1()、fn2(),在主程序中定义一个DerivedClass的对象,分别用BaseClass和DerivedClass的指针来调用fn1()、fn2()。
(4)使用private和protected继承从基类创建两个新类。然后通过派生类的对象访问基类的私有数据成员(通过函数)。
(5)定义一个哺乳动物Mammal类,再由此派生出狗Dog类和Cat类,各定义一个Dog类和Cat类的对象,观察基类与派生类的构造函数与析构函数的调用顺序。
(6)定义object类,有weight属性及相应的操作函数,由此派生出box类,增加Height和width属性及相应的操作函数,声明一个box对象,在构造函数与析构函数中输出信息,在主函数中进行测试输出。
实验4 模 板
1. 实验目的
(1)掌握函数模板与模板函数的使用。 (2)掌握类模板与模板类的使用。
2. 实验内容
(1)编写一个使用类模板对数组进行排序、查找和求元素和的程序。
(2)编写一个一维数组,无论整型还是其他类型,可以进行相同的操作:插入、
删除、查找某一元素、排序等功能。
(3)用类模板实现将两个升序链表组成一个降序链表。数据元素可以是整型、实型。
(4)用类模板实现栈,功能有:判断栈是否为空、入栈、出栈、读栈顶元素。
正在阅读:
面向对象实验09-26
苏教版上语文提高周练6)05-21
新人教版七年级道德与法治上册《四单元 生命的思考 第九课 珍视生命 增强生命的韧性》公开课教案 - 611-11
数学课堂教学中兴趣的培养03-08
SEPARATION OF VARIABLES AND THE XXZ GAUDIN MAGNET07-25
中国政治制度史期末复习题02-02
消防部队官兵英模人物先进事迹材料03-08
《操作系统B》教学大纲计算机 金虎]资料03-08
初中军训第五天日记5篇10-29
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 面向
- 对象
- 实验