《计算机基础实验课程》实验五 多态

合集下载

大学生计算机基础实验报告

大学生计算机基础实验报告

《大学计算机基础》课程实验报告手册学院年级专业姓名学号任课教师上机地点(以上由学生填写)实验教师(签字)西南大学计算机与信息科学学院计算机基础教育系年月日一、实验说明本课程实验分为一般性实验(验证和简单设计)和综合性实验(课程设计)两部分。

从第三周开始参考实验任务书(本报告中的五部分)完成每周规定的实验,并根据进度按要求认真填写本实验报告中的六、七部分,即3个阶段性实验报告、1个综合实验报告和1份学期总结。

此实验报告将作为实验成绩评定的依据之一。

本课程实验从开课学期第三周开始实习,每周2学时,16周结束,共28学时。

除统一安排的时间外,学生还可根据自己的实际适当安排课余时间上机。

上机内容参见实验任务书。

二、实验目的通过本实验,让学生掌握计算机的基本操作和基本技能,能够学会知识的运用与积累,能够举一反三,具备一定的独立解决问题的能力和信心;培养学生熟练地使用常用软件的能力及严肃认真的科学作风,为今后的学习和工作打下良好的基础。

三、实验要求1、每次实验课将考勤,并作为实验成绩的重要依据。

2、每次实验前学生必须充分准备相应的实验内容,以保证每次上机实验的效果。

实验过程中必须独立完成。

3、学期结束时,每位同学应将自己的《实验报告》交各专业班长或学习委员,由班长或学习委员以专业为单位、按学号从小到大排列好统一交给实验指导老师,否则无实验成绩。

四、实验报告要求一共要求填写3个阶段性实验报告和一个综合性实验报告,与每份实验报告对应产生的电子文档交由实验老师指定的位置,该电子文档也将作为实验成绩评定的依据之一。

五、实验任务书教材:《大学计算机基础》第二版高等教育出版社实验参考书:《大学计算机基础实践教程》高等教育出版社实验一Windows的基本操作和文件管理操作实验目的掌握鼠标和键盘的使用,掌握Windows操作系统的基本使用方法和文件管理操作。

实验要求(1)掌握微型计算机的打开和关闭操作(2)熟悉键盘指法和文字录入,了解中英文切换,全半角的切换;(3)掌握Windows的基本知识和基本操作(4)掌握“Windows资源管理器”和“我的电脑”的使用实验内容(1)窗口与菜单操作(2)中文输入法的安装、删除与属性设置(3)中文输入法的切换、全角输入与半角输入的切换(4)输入一篇200字以上的文章(5)“我的电脑”或“资源管理器”的使用备注:参见《大学计算机基础实践教程》实验1-1-1实验1-2-1和实验1-2-2,并完成实验任务中的全部任务实验二控制面板与任务管理器的使用实验目的掌握Windows控制面板和任务管理器的使用。

计算机基础上机实验大纲

计算机基础上机实验大纲

《大学计算机基础》上机实验大纲一、实验总学时:24学时学分:二、应开实验个数:19个必开实验个数:19个三、适用专业:非计算机专业本科(文科类)四、考核方式及评定标准: 交各实验完成的文档、单元测验、上机操作考试五、配套的实验教材或自编指导书:《大学计算机基础实验指导及习题集》六、实验项目:实验一认识和配置你的计算机实验学时数:1(一)实验类型:验证型(二)实验类别:基础实验(三)实验目的:1.认识计算机系统,掌握测试计算机配置的方法。

2.了解常用的性能测试工具。

(四)实验内容:1.了解开机启动过程,学习CMOS设置。

2.在Windows环境下了解计算机系统的配置信息。

3.学习使用3DMARK、PCMARK、Winbench、CrystalMark 等软件来测试计算机系统的性能。

(五)要求:必修(六)每组人数:1(七)主要仪器设备及其配套数:微型计算机,每人一台。

(八)所在实验室:计算机基础教育实验室实验二文件管理实验学时数:1(一)实验类型:验证型(二)实验类别:基础实验(三)实验目的:1.掌握资源管理工作界面的定制;2.掌握使用资源管理器管理文件和文件夹;3.了解资源管理器的其他用途。

4.掌握应用程序之间的数据传递;(四)实验内容1.根据要求设置资源管理工作界面;2.在资源管理器中对文件和文件夹进行新建、复制、移动、修改名称等操作;3.搜索各种特性的文件和文件夹。

4.利用剪贴板将系统对话框作为图片保存;5.将计算器应用程序中的计算结果粘贴到记事本中并保存。

(五)要求:必修(六)每组人数:1人(七)主要仪器设备及配套数:微型计算机,每人一台。

(八)所在实验室:计算机基础教育实验室实验三系统环境优化实验学时数:1(一)实验类型:验证型(二)实验类别:基础实验(三)实验目的:1.了解控制面板的功能;2.掌握使用控制面板进行系统环境设置的方法;3.掌握【开始】菜单和任务栏的设置方法;4.掌握任务管理器的用法;5.了解其他系统工具的用法。

大学计算机基础实验报告册

大学计算机基础实验报告册
1)矩形类中定义重载的构造函数。
2)圆形类中定义用带默认参数值的构造函数。
3.程序代码
4.程序运行结果:
实验报告三
实验二数据的共享与共享数据的保护
1.实验目的
1)通过执行程序分析:类的静态成员的定义和其实现数据共享的特点。
2)通过执行程序分析友元对数据共享的实现。
3)编写程序分析各种常数据对数据保护作用的具体体现。
3.程序代码
4.程序运行结果:
实验报告五
实验五多态与虚函数
1.实验目的
1)掌握运算符重载的方法和格式,会编写简单的运算符重载函数
2)能编写简单程序,并理解使用虚函数和抽象类实现多态性的含义。
2.实验内容
在实验四的基础上,完成下面的要求:
1)将图形类定义为抽象类,将其中的求图形面积的函数定义为虚函数。
2)定义函数,函数的参数为指向图形类的指针变量,借助该函数实现多态。
3)通过主函数针对以上的修改进行测试。
3.程序代码
#include<iostream.h>
class shape
{
public:
virtual void area()=0;
};
class picture:public shape
{
public:
3.程序代码
4.程序运行结果:
实验报告二
实验二类与对象
1.实验目的
1)会通过对实际问题的抽象创建符合要求的类;能准确写出并实现类的数据成员和成员函数;能根据需要定义类的构造和析构函数。
2)能准确定义一个类的对象;能准确对对象进行操作。
2.实验内容
编写程序,建立矩形、圆形类,类的所有数据成员设置为私有的访问属性通过类的成员函数获取类的数据成员,并通过主函数求确定边长或半径的矩形和圆形的面积,类中必须有构造和析构函数。要求:

《大学计算机基础》实验报告五——Word 2003基本操作与编辑

《大学计算机基础》实验报告五——Word 2003基本操作与编辑
(2)将上述文字按下列要求进行设置:给文章加标题“前言”,一号、红色、楷体、居中、字符底纹;将正文文字设置为四号仿宋,首行缩进2字符,行距设为13磅;将文中所有“视频”一词的字体颜色改为红色、隶书。保存文件,文件名为“5-4.doc”。
实验小结:
(1)、通过本实验我掌握Word的启动和退出的方法。
(2)在实验过程中我了解Word窗口的界面组成和基本操作。
(2)将上述文字按下列要求进行设置:标题设置为一号、红色、楷体、居中;将正文文字设置为四号仿宋,将文中的所有“学生”替换为“student”;保存文件,文件名为“5-2.dot”。
操作3.按要求完成如下操作。
(1)在Word中原样录入下列文字,并保存成文件名为“5-3”的Word文档文件扩展名默认。
《大学计算机基础》实验报告
实验名称
实验五Word 2003基本操作与编辑
学号
123
姓名
123
实验日期
123
实验学时
2学时
实验性质
基础性实验□
综合、设计性 实验□
实验目的:
1.掌握Word的启动和退出的方法。
2.了解Word窗口的界面组成和基本操作。
3.熟悉掌握Word文档的建立、保存、打开和保护。
4.熟悉掌握Word文档的基本编辑,如文字的输入、修改、删除、查找和替换等。
视频领域面临着从模拟制全面走向数字化的一场革命。由Adobe公司推出的非线性工作软件After Effects凭借其强大的影视处理能力以及低廉的价格,成为Macintosh与PC平台上的主流非线性工作软件。After Effects5.0在After Effects4.0的基础上,加入众多崭新的编辑合成理念,使软件日趋完美,因而拟定了其在高端视频系统中的主导地位。After Effects简介:After Effects是一款用于高端视频编辑系统的专业非线性编辑软件。他借鉴了许多软件的成功之处,将视频编辑合成上升到了新的高度。

计算机基础实验实验报告

计算机基础实验实验报告
(3)编写一个程序测试该类,测试数据及要求如下:
圆柱体对象:v(1.0,3.0);
本程序的执行结果如下:
圆柱体属性数据:
半径:1米
高度:3米
面积:3.14平方米
体积:9.42立方米
题目:定义一个类为形状,由它公有派生出圆、正方形、长方形。
利用多态性以虚函数的形式完成计算圆、正方形、长方形的面积。
具体要求如ቤተ መጻሕፍቲ ባይዱ:
(1)形状类名为shape,圆、正方形、长方形的类名分别为circle,square,rectangle。
(2)基类shape中只有一个公有的成员函数:virtual double area();用于求面积,操作为空。
(3)各派生类的数据成员均是私有的,数据类型为double型。
圆的半径为r,正方形的边长为a、长方形的边长为a,b,各派生类均需要定义公有的构造函数。
源代码
(10)题目函数递归问题:求n的阶乘,π的近似值
源代码
2.面向对象题目(5题)
设计一个长方体类Box,它能计算并输出长方体的体积和表面积。具体要求如下:
(1)私有数据成员
数据成员floata,b,c;//分别存放长方体的三条边长
数据成员floatvolume,area;//分别存放长方体的体积和表面积
公有成员函数:float getr(); //取圆的半径r
double area(); //求圆的面积
(2)类colum
保护数据成员:float h; //圆柱体的高
公有构造函数:colum(float,float); //初始化r和h
公有成员函数:float geth(); //取圆柱体的高h
double vol (); //求圆柱体的体积

类的多态实验报告

类的多态实验报告

一、实验目的1. 理解Java中类的多态概念。

2. 掌握多态在Java中的实现方式。

3. 学习如何通过多态实现代码的复用性和扩展性。

4. 熟悉多态在面向对象编程中的应用。

二、实验环境1. 操作系统:Windows 102. 开发工具:IntelliJ IDEA3. 编程语言:Java三、实验内容1. 多态的概念多态是指同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。

在Java中,多态主要表现为方法的多态和对象的多态。

2. 方法多态方法多态又称为重载(Overloading),是指在同一类中存在多个同名方法,但参数列表不同(参数个数、类型、顺序不同)。

Java编译器通过参数列表来区分同名方法。

实验示例:```javapublic class Test {public void print(int a) {System.out.println("int参数");}public void print(double a) {System.out.println("double参数");}public void print(String a) {System.out.println("String参数");}}```3. 对象多态对象多态是指不同类型的对象可以指向同一个父类引用。

当调用方法时,会根据对象的实际类型来决定执行哪个方法。

实验示例:```javapublic class Animal {public void eat() {System.out.println("动物吃东西");}}public class Dog extends Animal {public void eat() {System.out.println("狗吃东西");}}public class Cat extends Animal {public void eat() {System.out.println("猫吃东西");}}public class Test {public static void main(String[] args) {Animal a1 = new Dog();Animal a2 = new Cat();a1.eat(); // 输出:狗吃东西a2.eat(); // 输出:猫吃东西}}```4. 多态的应用多态在面向对象编程中具有重要作用,以下列举几个应用场景:a. 代码复用:通过多态,可以在不同的子类中复用相同的方法,提高代码的可维护性。

大学计算机基础实验教程

大学计算机基础实验教程

⒉ 设置文件排列形式
⒊ 搜索文件或文件夹
4. 新建文件和文件夹
5. 选定文件与文件夹
命名
6. 文件或文件夹的重
7. 复制或移动文件与文件夹 8. 删除文件与文件夹 9. 保存文件 10.设置文件或文件夹属性 11.设置文件或文件夹的显示效果
二、 资源管理器及控制面板的操作
实验一 利用控制面板进行一些简单的系统设置 实验二 设置桌面和任务栏 实验三 学会打开资源管理器,并进行相关的操作 实验四 设置中文输入法、并能利用中文输入法输入汉字
实验四 中文输入法的设置及使用
实验目的
⒈ 熟练键盘的操作 2. 掌握汉字输入法的设置及删除方法 3. 掌握汉字输入法的转换方法 4. 掌握一种汉字输入法(拼音输入法或五笔输入法)
实验内容
1. 键盘指法练习 2. 中文输入法的选择 3. 输入法的切换 4. 汉字输入法的设置/删除
三、常用附件的使用
⑹ 合并单元格 ⑺ 拆分单元格 ⑻ 表格对齐方式 ⑼ 表格的移动和缩放 ⑽ 绘制斜线表头 3.表格的计算 4. 上机操作题2(P125)
实验五 Word版面设计
实验目的
1. 掌握图片/剪贴画的插入和编辑方法 2. 掌握自选图形的插入和编辑方法 3. 掌握艺术字的插入和编辑方法 4. 掌握在Word文档中如何添加文本框
实验一启动和关闭Windows 7
实验目的
掌握安装有Windows 7操作系统的计算机的启动和关闭方法
实验内容
1. 计算机的启动 2. 计算机的退出 3. 重新启动
实验二 个性化Windows 7桌面
实验目的
1. 掌握在 Windows 7系统下对桌面背景、桌面图标、 “开始”菜单、任务栏等进行个性化设置

《计算机应用基础》课程实验报告

《计算机应用基础》课程实验报告

《计算机应用基础》课程实验报告
局域网与图像存档与通讯系统系统的功能与要求
图像存档与通讯系统是图像存档于通讯系统(Piture archiving and communication system)的首字母缩写,
近几年来,医学影像图像存档与通讯系统技术已被学术界炒得沸沸扬扬,但在真正实用意义上,能是医院产生兴趣,并引起重视的是数字医学影像的诊断价值,以及数字影像的可储存性、可重复利用性、越来越方便的课传送、可携带特性。

医院将提出的具体需求有:※③由于医学影像集中了医院对病人进行各种检查的80%以上信息量,从这个基本点出发,医学影像图像存档与通讯系统局域网必将对网络硬件系统的海量存储、宽带高性能、安全性、开放性、可拓展升级特性,以及要求提供优秀图像存档与通讯系统软件产生强烈的系统需求。

※②对传统的和现代的医学影像具有优良的数字化显示技术,通过医院影像局域网能够正确、清楚地再现医院现有的所②②②有医学图像,并且有可能集中在同一个场地,使用现代化的显示设备与技术,将同一个病人的各种检查图像同时显示出来,供医学专家们会诊使用。

※①逐渐将所有传统的和现代的医学影像设备接入医院数字影像局域网。

这里,所有医学影像包括:CT、DSA、MRI、传统X线影像及X线数字影像、ECT、B超、彩超、内镜图像、显微图像,以及最近兴起的CR、DR数字图像等等。

医院数字影像局域网与图像存档与通讯系统系统是一个涉及新技术较多、领域较宽,软硬件结构及环境平台均较为复杂的技术工程项目,其系统框图如图1.总体上,这一项目可区分为下述个工程模块。

《大学计算机课程》实验报告1-4

《大学计算机课程》实验报告1-4

《大学计算机基础》课程实验报告手册学院年级专业姓名学号任课教师上机地点(以上由学生填写)实验教师(签字)西南大学计算机与信息科学学院计算机基础教育系年月日《大学计算机基础》课程实验报告一《大学计算机基础》课程实验报告二《大学计算机基础》课程实验报告三《大学计算机基础》课程实验报告四(综合设计)学期总结这个学期,我们学习了《大学计算机基础实践》和《大学计算机——计算思维的视角》两本书。

实践教程主要讲解了windows7及office 2013版,在讲Windows7时,老师不仅讲了win7,同时也讲了微软公司一系列的Windows产品,在什么时候出了什么操作系统,其特点又是什么。

改变了不少人认为最新操作系统就是好系统的错误观点。

而office则是一套经典的、常用的办公软件,就word 而言,简单的输入文字,或许大家都会,但细致的处理则未必人人都会。

在当今社会,office已经成为很多行业必备的能力。

在今后的学习过程中,应当多与他人交流,作为非计算机专业的学生,难免有很多知识不懂。

更重要的是要知道,计算机并不是简单的娱乐工具,运用别人设计好的程序并不能算是懂计算机。

计算机在科技研究上有这极其重要作用,能自主根据需求设计需要的程序才是真正的计算机能手。

对一些常用的软件,如office,要经常使用,才能发现问题,同时包括电脑操作上的问题都可以上网查答案,养成自行解决疑难的好习惯,在运用中找到不足,弥补不足。

此外最好能够掌握一门高级语言,通过编程可以大大发散个人思维能力。

通过这次学习我真正体会到了计算机知识的更新是很快的,随着教育体制的改革和教育理念的更新,以及信息技术的飞速发展,如何接受新的教育理念,转变我们传统的教育观念,来充实我们的计算机技能,已经成为我们每一个人必须要解决的第一个问题.只有不断地学习,才能掌握最新的知识,才能在以后把工作做得更好。

我们也渴望能够多学关于计算机方面的知识.。

我相信在更多的学习机会中,我们懂的也会越来越多。

大学计算机基础实验报告[修改版]

大学计算机基础实验报告[修改版]

第一篇:大学计算机基础实验报告《大学计算机基础》实验报告学号:姓名:班级:任课教师:一、实验内容:二、实验要求:三、实验过程(说明详细步骤,可以截图说明):四、问题与总结:(总结实验进行情况,并列出实验时遇到的问题,供任课教师参考。

)第二篇:大学计算机基础作业与实验报告大学计算机基础》《大学计算机基础》第一次实验报告对象:对象:学习《大学计算机基础》I-II 课程的所有本科学生目的:目的:检验大家对Windows XP 基本知识的掌握情况填写报告内容:填写报告内容:如实填写完成下面操作所涉及到的命令以及操作过程,每完成一道题需有截屏图片(图片大小以35*35mm 为好)为证。

如果报告册不够填写请用A4 纸填写并粘贴在报告册相应的位置。

在报告内直接写内容不需要抄题。

要求:要求:以下操作为每位学生独立完成!如有雷同,全部按0 分处理,全部完成按100 分记分。

1. 请在D 盘根目录下建一个文件夹,名字为“MyFile”,请问建此文件夹有几种方法,分别写出它的具体步骤。

(步骤方法7 分,截图3 分)2. 请用记事本和快捷方式分别建两个文本文件,名字分别为T1.txt 和T2.txt,并将它们保存在“MyFile”文件夹内,分别写出创建的具体步骤。

(步骤方法7 分,截图3 分)3. 用快捷方式将T1.txt 复制到D 盘根目录下,用Ctrl+C 和Ctrl+V 将复制到 D 盘根目录下,并更名为“我的文件”,写出具体的操作步骤。

(步骤方法7 分,截图3 分)4. 将T2.txt 文件用快捷方式“发送”到桌面,观察在桌面上创建了文件夹快捷方式还是文件快捷方式我?写出具体的操作步骤。

(步骤方法7 分,截图3 分)5. 写出打开“添加或删除程序”的具体操作步骤。

(步骤方法7 分,截图3 分)6. 在新安装的Windows XP 操作系统的桌面上如何添加“我的电脑”“我、的文档”“网上邻居”的图标,写出具体的操作步骤。

实验5 多态性

实验5  多态性

实验5 多态性实验目的:理解静态和动态多态性。

掌握运算符重载的基本方法。

掌握虚函数的定义与使用方法。

实验内容:编写程序,定义抽象基类Shape(形状),由它派生出2个派生类: Circle(圆形)和Square (正方形),用函数ShowArea()分别显示各种图形的面积,最后还要显示所有图形的总面积。

要求用基类指针数组,数组的每个元素指向一个派生类对象。

在如下界面中显示信息实验步骤:(基于MFC对话框应用程序实现。

)1、界面设计2、控件变量定义3、在项目中创建“myshape.h”文件;“myshape.h”内容:const double PI = 3.1415926; // 常量PIconst int NUM = 4; // 常量NUM// 声明形状抽象类class MyShape{public:// 公有成员:virtual ~MyShape() { } // 虚析构函数virtual double ShowArea() const = 0; // 纯虚函数, 显示面积};// 声明矩形类class MyRectangle: public MyShape{private:// 数据成员:double height; // 高double width; // 宽public:// 公有函数:MyRectangle(double h, double w): height(h), width(w) { }// 构造函数double ShowArea() const // 显示面积{//cout << "矩形面积:" << height * width << endl;return(height * width);}};// 声明圆形类class MyCircle: public MyShape{private:// 数据成员:double radius; // 半径public:// 公有函数:MyCircle(double r): radius(r) { } // 构造函数double ShowArea() const // 显示面积{//cout << "圆面积:" << PI * radius * radius << endl;return(PI * radius * radius);}};在“*Dlg.cpp”中引用“myshape.h”及进行基类指针数组声明, #include “myshape.h”//引用MyShape * mysha[NUM]; //基类指针数组声明4、加入单击按钮时的事件响应代码4.1添加矩形类图形“添加矩形”按钮程序void CShapeDlg::OnRectangle(){// TODO: Add your control notification handler code here if (m_var1<NUM){UpdateData(true);mysha[m_var1] = new MyRectangle(m_var2,m_var3); // mysha[i]指向矩形对象m_var1++;UpdateData(false);}else{MessageBox("图形已定义完成!");}}4.2添加圆类图形“添加圆”按钮程序void CShapeDlg::OnCircle(){// TODO: Add your control notification handler code hereif (m_var1<NUM){UpdateData(true);mysha[m_var1] = new MyCircle(m_var4); // mysha[i]指向圆对象m_var1++;UpdateData(false);}else{MessageBox("图形已定义完成,不能再定义!");}}4.3计算面积“计算面积”按钮程序void CShapeDlg::OnArea(){// TODO: Add your control notification handler code here CString c1;double s1,s2;int i;if (m_var1==0){return;}m_var5.Format("");s2=0;for (i=0;i<m_var1;i++){s1=mysha[i]->ShowArea();c1.Format("图形%d面积:%f \r\n",i,s1);s2=s2+s1;m_var5 +=c1;}c1.Format("\r\n图形总面积:%f \r\n ",s2);m_var5 +=c1;UpdateData(false);}。

大学计算机基础实验报告1

大学计算机基础实验报告1

《大学计算机基础Ⅰ》课程实验报告手册(以上由学生填写)实验教师(签字)西南大学计算机与信息科学学院计算机基础教育系年月日一、实验说明本课程实验分为一般性实验(验证和简单设计)和综合性实验(课程设计)两部分。

从第3周开始参考实验任务书(本报告中的五部分)完成每周规定的实验,并根据进度按要求认真填写本实验报告中的六、七部分,此实验报告将作为实验成绩评定的依据之一。

本课程实验从开课学期第3周开始实习,每周2学时,16周结束,共28学时。

除统一安排的时间外,学生还可根据自己的实际适当安排课余时间上机。

上机内容参见本报告中的“五、实验任务书”部分。

二、实验目的通过本实验,让学生掌握计算机的基本操作和基本技能,能够学会知识的运用与积累,能够举一反三,具备一定的独立解决问题的能力和信心,培养学生熟练地使用常用软件的能力及严肃认真的科学作风,为今后的学习和工作打下良好的基础。

三、实验要求1、每次实验课将考勤,并作为实验成绩的重要依据。

2、每次实验前学生必须充分准备每次的实验内容,以保证每次上机实验的效果。

实验过程中必须独立完成。

3、学期结束时,每位同学应将自己的《实验报告》交各专业班长或学习委员,由班长或学习委员以专业为单位、按学号从小到大排列好统一交给实验指导老师,否则无实验成绩。

四、实验报告要求一共要求填写3个阶段性实验报告、1个综合性实验报告和1份学期总结,与每份实验报告对应产生的电子文档交由实验老师指定的位置,该电子文档也将作为实验成绩评定的依据之一。

五、实验任务书教材:《大学计算机基础》第五版高等教育出版社实验参考书:《大学计算机基础实践教程》高等教育出版社实验一:指法练习、汉字录入实验目的:1.掌握鼠标和键盘的使用及正确的操作指法。

2.掌握微型计算机的打开和关闭操作3.熟悉键盘指法和文字录入4.了解中英文切换,全半角的切换实验任务:1.参见实验参考书中的实验1-1-1中的[任务1](7页)2.参见实验参考书中的实验1-1-1中的[任务3](7页)实验二:Windows的基本操作和文件管理操作实验目的:1.掌握Windows的基本知识和基本操作2.掌握“Windows资源管理器”和“我的电脑”的使用实验任务:1.参见实验参考书中的实验1-2-1中的全部任务(14页)2.参见实验参考书中的实验1-2-2中的全部任务(18页)实验三:控制面板与任务管理器的使用实验目的:1.掌握磁盘格式化的方法2.掌握控制面板的使用3.掌握任务管理器的基本操作4.掌握磁盘碎片整理程序等实用程序的使用5.了解系统配置实用程序的使用6.了解注册表的原理及会简单的使用注册表实验任务:1.参见实验参考书中的实验2-1-1中的全部任务(94页)2.参见实验参考书中的实验2-1-2中的全部任务(99页)3.参见实验参考书中的实验2-1-5中的[任务1](107页)4.参见实验参考书中的实验2-1-6中的[任务1](109页)5.(选做)参见实验参考书中的实验2-1-5中的[任务2](107页)6.(选做)参见实验参考书中的实验2-1-6中的[任务2]和[任务3](109页)7.(选做)参见实验参考书中的实验2-1-7中的全部任务(110页)8.(选做)参见实验参考书中的实验2-1-8中的全部任务(112页)实验四:Word文档的基本操作和排版实验目的:1.掌握应用程序的启动与退出方法2.掌握Word文档的建立、保存和打开3.掌握文档的基本编辑与排版操作4.掌握页面设置的基本操作实验任务:1.参见实验参考书中的实验1-4-1中的全部任务(33页)2.参见实验参考书中的实验1-4-2中的全部任务(39页)实验五:Word文档的修饰、视图、样式、模板及邮件合并实验目的1.掌握分栏、项目符号和编号的使用方法2.掌握视图的切换方法及页眉和页脚的设置方法3.掌握样式和模板的使用实验任务:1.参见实验参考书中的实验1-4-3中的全部任务(45页)2.(选做)参见实验参考书中的实验2-2-1中的全部任务(115页)3.(选做)参见实验参考书中的实验2-2-2中的任务(118页)实验六:Word中的表格处理与图文混排实验目的:1.掌握表格的基本编辑、录入与基本格式设置操作2.掌握表格计算与排序操作3.掌握图片、艺术字等图形对象的插入与编辑;4.掌握图文混排的基本操作实验任务:1.参见实验参考书中的实验1-4-4中的全部任务(51页)2.参见实验参考书中的实验1-4-5中的全部任务(57页)实验七:工作表的基本操作和格式化实验目的:1.掌握Excel工作簿建立、保存与打开2.掌握工作表中数据的输入与编辑操作3.掌握公式和函数的使用4.掌握工作表的编辑与格式化操作实验任务:1.参见实验参考书中的实验1-5-1中的全部任务(66页)2.参见实验参考书中的实验2-3-2中的全部任务(129页)实验八:数据图表化1.掌握嵌入图表和独立图表的创建2.掌握图表的整体编辑和对图表中各对象的编辑操作3.掌握图表的格式化操作实验任务:1.参见实验参考书中的实验1-5-2中的[任务1]和[任务2](73页)2.创建以姓名和各科成绩为数据区的内嵌式簇状柱形图,并设置主要刻度间隔为20,设置X轴上的姓名格式为“蓝色、粗体、14磅”实验九:数据管理实验目的:1.掌握数据列表的排序、筛选及分类汇总操作2.掌握数据透视表的操作3.了解数据有效性设置和圈释无效数据的方法4.了解数据追踪分析方法实验任务:1.参见实验参考书中的实验1-5-2中的[任务3][任务4]和[任务7](73页)2.(选做)参见实验参考书中的实验2-3-1中的全部任务(125页)3.参见实验参考书中的实验2-3-3中的全部任务(130页)4.(选做)参见实验参考书中的实验2-3-4中的全部任务(131页)实验十:演示文稿的建立实验目的:1.掌握演示文稿建立的基本过程2.掌握演示文稿格式化和美化的方法3.掌握幻灯片母版和配色方案的使用4.掌握应用设计模板的使用方法实验任务:参见实验参考书中的实验1-6-1中的全部任务(82页)实验十一:幻灯片的动画、超链接和多媒体实验目的:1.掌握幻灯片的动画技术2.掌握的超链接技术3.掌握在幻灯片中插入多媒体对象的方法4.掌握放映演示文稿的不同方法5.掌握交互式功能的设置1.参见实验参考书中的实验1-6-2中的全部任务(89页)2.参见实验参考书中的实验2-4-2中的全部任务(138页)实验十二:Internet服务实验目的:1.掌握浏览器的使用方法、网页的下载和保存2.掌握搜索引擎或搜索器的使用3.掌握邮件软件的使用4.了解IE浏览器中的常用的安全设置方法实验任务:1.参见实验参考书中的实验3-3-1中的全部任务(198页)2.利用Outlook或Foxmail发送一封邮件,并收取邮箱中的邮件3.(选做)参见实验参考书中的实验3-2-2中的全部任务(187页)实验十三:多媒体软件的使用实验目的:1.掌握Windows中各种多媒体播放软件的使用2.掌握常用数据压缩软件的使用实验任务:1.参见实验参考书中的实验2-6-1中的全部任务(149页)2.参见实验参考书中的实验2-6-2中的全部任务(152页)3.(选做)参见实验参考书中的实验3-5-1中的全部任务(219页)4.(选做)参见实验参考书中的实验3-5-2中的全部任务(221页)综合设计性实验:综合设计目的在于考查学生综合运用本课程知识解决实际问题的能力,锻炼学生的动手能力,具体实验题目、任务和要求由各任课老师说明(以制作演示文稿为主线)。

继承与多态实验报告

继承与多态实验报告

实验五继承与多态理解继承与多态的概念,掌握三种访问控制的区别,掌握抽象类、接口与包的应用。

二、实验内容:1. 参考教材P112,示例程序C5_17,掌握抽象类的应用。

2. 参考教材P116,示例程序C5_19,掌握接口的使用方法。

3. 参考教材P121,示例程序C5_20,掌握包的使用方法。

三、实验要求:1.完成示例程序的验证。

2.写出实验报告。

四、实验步骤与结果:(由学生按照实验内容完成)1. 示例程序c5_17import java.awt.*;import java.applet. *;abstract class Shapes //定义一个抽象类Shapes{public int x,y; //x、y为画图的坐标public int width,height;public Shapes(int x,int y,int width,int height){ this.x=x;this.y=y;this.width=width;this.height=height;}abstract double getArea( ); //求图形面积的抽象方法abstract double getPerimeter( ); //求图形周长的抽象方法}class Square extends Shapes //由抽象类Shapes派生的子类——矩形类{public double getArea( ){return(width*height);}public double getPerimeter( ){return(2*width+2*height);}public Square(int x,int y,int width,int height){ super(x,y,width,height); }}class Triangle extends Shapes //由抽象类Shapes派生的子类——三角形类{public double c; //斜边public double getArea( ){return(0.5*width*height);}public double getPerimeter( ){return(width+height+c);}public Triangle(int x,int y,int base,int height){super(x,y,base,height);c=Math.sqrt(width*width+height*height);}}class Circle extends Shapes //由抽象类Shapes派生的子类——圆类{public double r; //半径public double getArea( ){return(r*r*Math.PI);}public double getPerimeter( ){return(2*Math.PI*r);}public Circle(int x,int y,int width,int height){super(x,y,width,height);r=(double)width/2.0;}}public class c5_18 extends Applet{/****/private static final long serialVersionUID = -L;Square Box=new Square(5,15,25,25);Triangle tri=new Triangle(5,50,8,4);Circle Oval=new Circle(5,90,25,25);public void paint(Graphics g){//画正方形g.drawRect(Box.x,Box.y,Box.width,Box.height);g.drawString("Box Area:"+Box.getArea( ),50,35);g.drawString("Box Perimeter:"+Box.getPerimeter( ),50,55);g.drawString("tri Area:"+tri.getArea( ),50,75);g.drawString("tri Perimeter:"+tri.getPerimeter( ),50,95);g.drawOval(Oval.x,Oval.y,Oval.width,Oval.height); //画圆g.drawString("oval Area:"+Oval.getArea( ),50,115);}}2. 示例程序C5_19import java.awt.*;import java.applet.*;interface Shapes{ abstract double getArea( );abstract double getPerimeter( );}class Coordinates{int x,y;public Coordinates(int x,int y){this.x=x;this.y=y;}}//Square Coordinates Shapesclass Square extends Coordinates implements Shapes{public int width,height;public double getArea( ){return(width*height);}public double getPerimeter( ){return(2*width+2*height);} public Square(int x,int y,int width,int height){super(x,y);this.width=width;this.height=height;}}class Triangle extends Coordinates implements Shapes{public int width,height;public double c;public double getArea( ){return(0.5*width*height);}public double getPerimeter( ){return(width+height+c);}public Triangle(int x,int y,int base,int height){super(x,y);width=base;this.height=height;c=Math.sqrt(width*width+height*height);}}class Circle extends Coordinates implements Shapes{public int width,height;public double r;public double getArea( ){return(r*r*Math.PI);}public double getPerimeter( ){return(2*Math.PI*r);}public Circle(int x,int y,int width,int height){super(x,y);this.width=width;this.height=height;r=(double)width/2.0;}}public class c5_20 extends Applet{/****/private static final long serialVersionUID = L;Square Box=new Square(5,15,25,25);Triangle tri=new Triangle(5,50,8,4);Circle Oval=new Circle(5,90,25,25);public void paint(Graphics g){g.drawRect(Box.x,Box.y,Box.width,Box.height);g.drawString("Box Area:"+Box.getArea( ),50,35);g.drawString("Box Perimeter:"+Box.getPerimeter( ),50,55);g.drawString("tri Area:"+tri.getArea( ),50,75);g.drawString("tri Perimeter:"+tri.getPerimeter( ),50,95);g.drawOval(Oval.x,Oval.y,Oval.width,Oval.height);g.drawString("oval Area:"+Oval.getArea( ),50,115);}}五.总结。

计算机基础上机实验课实验报告模版

计算机基础上机实验课实验报告模版

计算机基础上机实验课实验报告模版注意:本模版仅供参考,主要是在实验报告中发现同学们的具体操作点时候到位,具体的操作结果和分析应该以自己本人遇到的结果为主。

括号内的都是标注。

实验一中文Windows XP的基本操作(注:部分同学的操作系统是windows 2000,就应该标注是Windows 2000操作系统)一、实验目的(1)熟练掌握Windows XP的窗口及对话框操作(2)熟练掌握Windows XP资源管理器中对文件、文件夹的操作(3)掌握控制面板中部分项目的设置,如时间,输入法,显示等。

二、实验内容第一部分Windows XP的窗口及对话框操作1、操作我的电脑:在本机中双击我的电脑图标,发现了我的电脑中有共享文档、Administrator文档、本地磁盘C:、本地磁盘D:、本地磁盘F:、CD驱动器D:CD驱动器G:(注意,因为我的计算机因为科研需要安装了虚拟机和虚拟光盘软件,有多CD 驱动,同学们应该以自己的实验机中看到的图标为准,如果能进行适当的分析更好)2、打开我的文档,看见了我的视频,我的音乐,图片收藏、V isual Studio 2008、Visual Studio2005、My Virtual Machines、My Virtual Machines、My eBooks等文件夹(注:其中若干文件夹是因为科研工作而安装的工具软件文件夹,同学们应该以自己的实验机中看到的图标为准)3、回收站:打开桌面图标回收站,发现有5个文件,在桌面建立一个名为123.txt的文本文件,点击删除,再次进入回收站,发现该文件位于回收站内部,点击菜单,还原文件,该文件再次回到桌面,再次删除,点击清空回收站,发现文件消失。

4、点击开始按钮,发现了程序、文档、设置、搜素、帮助、运行等功能(这里可以写的更深入,比如在开始菜单中发现了那些应用程序的启动图标)5、任务栏:(1)在桌面左下发发现快速启动任务栏,有我的电脑,桌面,Visual C++等快捷启动方式(2)屏幕下方有任务切换栏,当前显示了2个word文档、我的文档、我的电脑、一个EXCel文档、一个IE浏览器,这是当前本机上正在运行的应用程序。

最新C++上机实验报告实验五

最新C++上机实验报告实验五

最新C++上机实验报告实验五实验目的:1. 掌握C++中类和对象的基本概念和使用方法。

2. 学习如何通过继承和多态实现代码复用和扩展功能。

3. 理解模板类和模板函数的实现机制及其应用。

实验内容:1. 设计一个基类Animal,并为其添加虚函数Speak()。

2. 从Animal类派生出三个子类:Dog、Cat和Bird,每个子类实现Speak()函数。

3. 使用模板类创建一个简单的容器类,能够存储不同类型的Animal 对象。

4. 实现一个模板函数PrintInfo(),该函数能够打印任何Animal对象的信息。

实验步骤:1. 创建基类Animal,并定义一个纯虚函数Speak()。

```cppclass Animal {public:virtual void Speak() = 0;};```2. 派生Dog、Cat和Bird类,并实现Speak()函数。

```cppclass Dog : public Animal {public:void Speak() override {cout << "Woof!" << endl;}};class Cat : public Animal {public:void Speak() override {cout << "Meow!" << endl;}};class Bird : public Animal {public:void Speak() override {cout << "Tweet!" << endl;}};```3. 创建模板类AnimalContainer,并实现添加和打印容器中所有动物信息的功能。

```cpptemplate <typename T>class AnimalContainer {list<T*> animals;public:void AddAnimal(T* animal) {animals.push_back(animal);}void PrintInfo() {for (auto& animal : animals) {animal->Speak();}}};```4. 实现模板函数PrintInfo(),调用AnimalContainer的PrintInfo()方法。

C++实验五多态性、继承和派生

C++实验五多态性、继承和派生

附录:实验源程序及实验结果(1) 定义一个人员类Person,包括姓名、编号、性别等数据成员和用于输入、输出的成员函数,在此基础上派生出学生类Student类(增加成绩)和教师类Teacher(增加教龄),并实现对学生和教师信息的输入和输出。

//Person.h#include<iostream> //编译预处理命令using namespace std; //使用命名空间std#ifndef PERSON_H#define PERSON_Hclass Person //声明类Person{protected:char name[18]; //姓名int num; //编号char sex[3]; //性别public:char na[18],se[3];int nu;Person(){} //构造函数void Imput() //输入信息{ cout<<"请输入姓名:";cin>>na;cout<<"请输入编号:";cin>>nu;cout<<"请输入性别:";cin>>se; }void Set() //设置信息{ strcpy(name,na);num=nu;strcpy(sex,se); }void Show() const; //显示信息函数定义声明};#endif//Student.h:#include<iostream> //编译预处理命令using namespace std; //使用命名空间std#ifndef STUDENT_H#define STUDENT_Hclass Student:public Person //声明类Student{protected:double record; //成绩public:double re;Student(){} //构造函数void Imput(){cout<<"请输入学生的信息:"<<endl;Person::Imput(); //调用基类成员函数Imput() cout<<"请输入成绩:";cin>>re;}void Set(){ Person::Set(); //调用基类成员函数Set() record=re;}void Show() const;};#endif//Teacher.h:#include<iostream> //编译预处理命令using namespace std; //使用命名空间std#ifndef TEACHER_H#define TEACHER_Hclass Teacher:public Person{protected:int age; //教龄public:int ag;Teacher(){} //构造函数void Imput(){cout<<endl<<"请输入教师的信息:"<<endl;Person::Imput(); //调用基类成员函数Imput() cout<<"请输入教龄:";cin>>ag;}void Set(){Person::Set(); //调用基类成员函数Set()age=ag;}void Show() const;};#endif//Person.cpp:#include"Person.h"void Person::Show() const //显示信息函数定义{cout<<"姓名:"<<name<<endl;cout<<"编号:"<<num<<endl;cout<<"性别:"<<sex<<endl;}//Student.cpp:#include"Person.h"#include"Student.h"void Student::Show() const{cout<<endl<<"学生的信息为:"<<endl;Person::Show(); //调用基类成员函数Show() cout<<"成绩:"<<record<<endl<<endl;}//Teacher.cpp:#include"Person.h"#include"Teacher.h"void Teacher::Show() const{cout<<"教师的信息为:"<<endl;Person::Show(); //调用基类成员函数Show() cout<<"教龄:"<<age<<endl<<endl;}//main.cpp:#include"Person.h"#include"Student.h"#include"Teacher.h"int main(){ Student s; //定义对象ss.Imput(); //输入学生信息s.Set(); //设置学生信息Teacher t; //定义对象tt.Imput(); //输入教师信息t.Set(); //设置教师信息s.Show(); //显示学生信息t.Show(); //显示教师信息system("PAUSE");return 0;}(2) 定义一个抽象类Shape,包含纯虚函数Area()(用来计算面积)和SetShape()(用来重设形状大小)。

大学计算机实验五报告

大学计算机实验五报告

实验五课程名称:大学计算机实验项目名称:Excel的应用2. 对一列数据进行通过excel求和函数进行求和,对另一列数据求最大值。

1)输入两列数据,单击需要算出和的单元格,进入功能区的“公式”,点击“插入函数”,在弹出的对话框中选择“Sum”函数,点击确定后在随后的对话框中选择求和的数的范围,再次点击确认即可。

2)单击需要算出和的单元格,进入功能区的“公式”,点击“插入函数”,在弹出的对话框中选择“Max”函数,点击确定后在随后的对话框中选择求最大值的数的范围,再次点击确认即可。

3. 验证数据有效性,验证是否有来自“北京”“上海”之外的地区(P127)1)选中“地区”那列所有数据,在功能区找到“数据”,在“数据工具”找到“数据验证”,点进去,在弹出的对话框中,在“设置”选项卡里找到“允许”的下拉列表,选择“序列”,在“来源”输入“北京,上海”,其中逗号用半角模式下的英语模式的逗号。

点击确定即可。

如果再次输入“北京,上海”之外的数据就会提示错误,且可以制作下拉菜单。

4. 自动筛选出销售数量大于100000的行(P128~P129)1)点击清单中任意一个单元格,在功能区找到“数据”,在其中找到“筛选”,单击后,找到“销售与数量”旁边的下拉按钮,点进去出来一个菜单,点击“全选”,再在“数字筛选”的下一级菜单中选择“大于”,在点击后弹出的对话框中输入“100000”,点击确定即可,设置完成后可以发现,全部的销售数量都低于100000,故全部都消失。

5.实现案例5-161)输入基础数值如下2)单击E2单元格开始编辑,输入公式“=PMT(B2/12,C2*12,D2)”,按下回车键即可自动计算月供金额。

再选中该单元格,单击右键,在弹出的菜单中找到“设置单元格式”,单击进入,选择第二个格式即可。

3)在B5单元格输入公式“=E2”4)选择数据区域B5:I10,单击“数据”选项卡上的“数据工具”组中的模拟分析的下拉按钮,选择“模拟运算表”,在弹出的对话框中在“输入引用行的单元格”旁输入“D2”,在“输入引用列的单元格”旁输入“C2”点击确定即可。

计算机基础实验实训报告

计算机基础实验实训报告

一、实验目的本次实验旨在通过实际操作,巩固和加深对计算机基础知识的理解,提高实际操作能力,培养良好的计算机素养。

具体目标如下:1. 熟悉计算机硬件的基本组成和功能;2. 掌握计算机操作系统的基本使用方法;3. 学习并掌握常用软件的基本操作;4. 培养良好的计算机安全意识和数据备份习惯。

二、实验内容1. 计算机硬件组装与拆解(1)实验目的:了解计算机硬件的基本组成,掌握组装和拆解计算机的基本方法。

(2)实验步骤:①观察计算机主机、显示器、键盘、鼠标等硬件设备;②学习各硬件设备的功能和作用;③学习组装计算机的基本步骤,包括安装主板、CPU、内存、硬盘、光驱等;④学习拆解计算机的基本步骤,包括拆卸硬件设备、检查硬件状态等。

2. 操作系统基本操作(1)实验目的:掌握Windows操作系统的基本使用方法。

(2)实验步骤:①启动计算机,熟悉Windows桌面布局;②学习任务栏、开始菜单、桌面图标等基本操作;③学习文件和文件夹的基本操作,包括创建、复制、移动、删除等;④学习磁盘管理,包括格式化、分区、查看磁盘空间等。

3. 常用软件操作(1)实验目的:掌握常用软件的基本操作,提高工作效率。

(2)实验步骤:①学习文字处理软件(如Word)的基本操作,包括创建文档、编辑文字、设置格式、插入图片等;②学习电子表格软件(如Excel)的基本操作,包括创建工作表、输入数据、设置公式、创建图表等;③学习演示文稿软件(如PowerPoint)的基本操作,包括创建演示文稿、添加幻灯片、设置动画、放映演示文稿等。

4. 计算机安全与数据备份(1)实验目的:培养计算机安全意识和数据备份习惯。

(2)实验步骤:①学习计算机病毒的基本知识,了解防病毒软件的使用方法;②学习数据备份的基本方法,包括使用备份软件、手动备份等;③学习数据恢复的基本方法,包括从备份文件恢复数据、使用数据恢复软件等。

三、实验结果与分析1. 通过组装与拆解计算机,了解了计算机硬件的基本组成和功能,掌握了组装和拆解计算机的基本方法。

c 多态性实验报告

c 多态性实验报告

c 多态性实验报告C++多态性实验报告引言:多态性是面向对象编程中的一个重要概念,它允许不同类型的对象对同一消息作出不同的响应。

在C++中,通过虚函数和指针或引用的方式实现多态性。

本实验旨在通过设计一个简单的图形类来演示C++中多态性的应用。

实验过程:1. 设计图形类:首先,我们需要设计一个基类Shape,其中包含一个纯虚函数area()用于计算图形的面积。

然后,派生出两个子类Rectangle和Circle,分别表示矩形和圆形。

这两个子类都需要实现基类中的纯虚函数area()。

2. 实现多态性:在基类Shape中,将area()函数声明为虚函数,以便在派生类中进行重写。

在派生类Rectangle和Circle中,分别重写area()函数,根据具体的图形形状进行面积计算。

3. 创建对象并调用函数:在主函数中,创建Shape、Rectangle和Circle的对象,并通过指针或引用调用它们的area()函数。

由于area()函数在基类中被声明为虚函数,因此在运行时会根据对象的实际类型调用相应的函数。

实验结果:经过实验,我们发现不同类型的图形对象可以通过相同的函数名进行调用,而实际执行的函数却不同。

这就是多态性的体现。

通过多态性,我们可以编写更加灵活和可扩展的代码。

实验分析:多态性的实现依赖于虚函数表(vtable)和虚函数指针(vptr)。

每个带有虚函数的类都会在其内部生成一个虚函数表,用于存储虚函数的地址。

而每个对象都会有一个虚函数指针,指向该对象所属类的虚函数表。

当调用虚函数时,会根据对象的虚函数指针找到对应的虚函数表,并通过偏移量找到实际的函数地址进行调用。

多态性的优势在于代码的可维护性和可扩展性。

通过将函数声明为虚函数,我们可以在基类中定义通用的接口,而具体的实现则由派生类来完成。

这样,当需要添加新的图形类型时,只需要编写新的派生类并重写虚函数即可,而不需要修改基类或其他已有的代码。

此外,多态性还可以实现运行时的动态绑定,即在运行时根据对象的实际类型来决定调用哪个函数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

院系:计算机学院
实验课程:计算机基础实验课程
实验项目:多态
指导老师:XXX
开课时间:XXXX~ XXXX年度第 2学期专业:XXXX
班级:XXXX级本X班
学生:XXX
学号:XXXXXXXX
一、实验目的与要求:
1.掌握运算符重载的基本方法。

2.掌握虚函数的定义及多态性的实现。

二、实验内容:
(一)实验题目一:
编写有理数(即分数,包括整数类型的分子和分母)类,并进行运算符重载,编写运算符“+”、“-”、“*”、“/”的重载函数,在主函数的函数体内中实现使用运算符直接进行有理数对象的加、减、乘、除运算。

1.程序清单:
#includ e<iostream>
using namespace std;
class Rnumber
{
public:
Rnumber(){a=0;b=0;}
Rnumber(int,int);
Rnumber operator +(Rnumber &);
Rnumber operator -(Rnumber &);
Rnumber operator *(Rnumber &);
Rnumber operator /(Rnumber &);
void display();
private:
int a;
int b;
};
Rnumber::Rnumber(int x,int y):a(x),b(y){}
Rnumber Rnumber::operator +(Rnumber & x)
{
int i;
i=(a>x.a)?a:x.a;
for(;i!=0;i++)
{
if(i%b==0 && i%x.b==0)
break;
}
return Rnumber(i/b*a+i/x.b*x.a,i);
}
Rnumber Rnumber::operator -(Rnumber & x) {
int i;
i=(a>x.a)?a:x.a;
for(;i!=0;i++)
{
if(i%b==0 && i%x.b==0)
break;
}
return Rnumber(i/b*a-i/x.b*x.a,i);
}
Rnumber Rnumber::operator *(Rnumber & x) {
return Rnumber(a*x.a,b*x.b);
}
Rnumber Rnumber::operator /(Rnumber & x) {
return Rnumber(a*x.b,b*x.a);
}
void Rnumber::display()
{
int n;
n=(a<b)?a:b;
for(;n>1;n--)
{
if(a%n==0 && b%n==0)
{
a=a/n;
b=b/n;
}
}
cout<<a<<"/"<<b;
}
int main()
{
Rnumber a1(3,5),a2(3,4),a3,a4,a5,a6;
a3=a1+a2;
a4=a1-a2;
a5=a1*a2;
a6=a1/a2;
cout<<"a1=";
a1.display();
cout<<" a2=";
a2.display();
cout<<endl;
cout<<"a1+a2=";
a3.display();
cout<<endl;
cout<<"a1-a2=";
a4.display();
cout<<endl;
cout<<"a1*a2=";
a5.display();
cout<<endl;
cout<<"a1/a2=";
a6.display();
cout<<endl;
return 0;
}
2. 程序运行结果:
(二)实验题目二:
BaseRun类定义如下:
class BaseRun
{ public:
void Run(){cout<<〝\n…………class BaseRun::Run()……\n〞;} };
定义DogRun,CarRun和PeopleRun类,都继承自BaseRun类,并重载Run()函数,使各类中的Run()函数分别输出不同的内容。

1.程序清单:
#include<iostream>
using namespace std;
class BaseRun
{
public:
void Run()
{
cout<<"\n……class BaseRun::Run()……\n";
}
};
class DogRun:public BaseRun
{
public:
void Run()
{
cout<<"\n……class DogRun::Run()……\n";
}
};
class CarRun:public BaseRun
{
public:
void Run()
{
cout<<"\n……class CarRun::Run()……\n";
}
};
class PeopleRun:public BaseRun
{
public:
void Run()
{
cout<<"\n……class PeopleRun::Run()……\n";
}
};
void main()
{
BaseRun BR;
DogRun DR;
CarRun CR;
PeopleRun PR;
BR.Run();
DR.Run();
CR.Run();
PR.Run();
cout<<endl;
}
2.程序运行结果:
(三)实验题目三:
将BaseRun:: Run()函数声明成虚函数,用基类指针分别指向派生类对象,并通过基类指针调用派生类对象的Run()函数,体会继承中的多态性。

1.程序清单:
#include<iostream>
using namespace std;
class BaseRun
{
public:
virtual void Run()
{
cout<<"\n……class BaseRun::Run()……\n";
}
};
class DogRun:public BaseRun
{
public:
void Run()
{
cout<<"\n……class DogRun::Run()……\n";
}
};
class CarRun:public BaseRun
{
public:
void Run()
{
cout<<"\n……class CarRun::Run()……\n";
}
};
class PeopleRun:public BaseRun
{
public:
void Run()
{
cout<<"\n……class PeopleRun::Run()……\n";
}
};
void main()
{
BaseRun *pt;
BaseRun BR;
DogRun DR;
CarRun CR;
PeopleRun PR;
pt=&BR; pt->Run();
pt=&DR; pt->Run();
pt=&CR; pt->Run();
pt=&PR; pt->Run();
cout<<endl;
}
2.程序运行结果:
三、实验小结:
1. 出现问题分析:
(1)对于实验一中的加减乘除的运算功能的较难实现;当生成新的有理数(分数)时,还要考虑是否为最简形式。

(2)对于实验二中重载函数的调用,和实验三中用基类指针实现对同名函数的调用都是难点。

2.解决方法:
(1)对于加减乘除的运算,根据其不同的运算法则(如乘法直接使分子分母各自相乘),得出初步结果,再将该分数进行化简。

(2)重载函数由不同类的对象进行调用,对于基类中定义了虚函数,只需要定义基类指针进行,然后每次分别指向不同类的对象,再调用函数。

3. 经验教训:
(1)对于类的多态性的内容,以后要多加练习。

而且自己要熟练掌握函数
承载、运算符承载等内容,做到有的放矢。

(2)在以后的编程中,尽量是程序简单明了,运行出来的界面让人一目了然。

相关文档
最新文档