面向对象程序设计(C--)实验指导-精简版-befine

合集下载

《面向对象程序设计》实验指导书

《面向对象程序设计》实验指导书

实验一熟悉Visual Basic集成开发环境一、实验目的1.了解Visual Basic语言的功能特点。

2.熟悉Visual Basic的开发环境。

3.掌握建立、编辑和运行一个简单的VB应用程序的全过程。

二、实验内容创建一个“标准EXE”类型的应用程序。

要求学生建立、编辑、调试、运行和保存简单的VB程序。

三、实验步骤1.熟悉Visual Basic的开发环境。

(1)定制第一个开发环境。

1)单击“工程窗口”、“属性窗口”、“窗体布局窗口”及“工具箱窗口”右上角的关闭按钮2)单击Form,将Form窗口放到最大。

(2)定制第二个开发环境。

1)选择“视图”菜单中的“工程资源管理器”选项,显示“工程资源管理器”窗口。

2)选择“视图”菜单中的“属性窗口”选项,显示“属性窗口”。

3)选择“视图”菜单中的“窗体布局窗口”选项,显示“窗体布局窗口”。

4)选择“视图”菜单中的“工具箱”选项,显示“工具箱”窗口。

5)将“工程资源管理器”、“属性窗口”、“窗体布局窗口”、“工具箱”四个窗口用鼠标拖动到合适的位置。

(3)增加窗体。

单击“工程”菜单中的“添加窗体”选项,或者在“工程资源管理器”中的“工程”图标上单击鼠标右键,系统弹出一个快捷菜单,选择“添加窗体”选项,将在Form1的基础上添加一个窗体Form2。

(4)增加标准模块。

单击“工程”菜单中的“添加模块”选项,可增加一个标准模块Module1,再单击一次增加第二个便准模块Module2;或者在“工程资源管理器”中的“工程”图标上单击右键,系统弹出一个菜单,将鼠标移到“添加”菜单,选择“添加模块”选项,将在工程1种添加一个标准模块Module1,在选择“添加模块”选项,将在工程1种添加第二个标准模块Module2。

(5)增加类模块。

单击“工程”菜单中的“添加类模块”选项,或者在“工程资源管理器”中的“工程”图标上单击鼠标右键,系统弹出一个菜单,将鼠标移到“添加”菜单,选择“添加类模块”选项,将在工程1种添加一个类模块Class1。

《面向对象程序设计》实验指导书(实.doc

《面向对象程序设计》实验指导书(实.doc
{ int i;float sum=0;
m=n;
①;
aver=sum/m;
}
void score::set_score(float x[],int n) //提供成绩
{ int i;float sum=0;
m=n;
②;
aver=sum/m;
}
void score::print_score(void) //输出成绩、平均成绩
score(void); //无参构造函数
score(float x[],int n); //构造函数重载——初始化成绩
void set_score(float x[],int n); //提供成绩
float get_score(int i) //得到第i科成绩
{return sc[i];}
float get_aver(void) //得到平均成绩
③在实际应用中,在定义类时通常应定义一至多个构造函数(重载),以对各数据成员进行初始化;如果不给出构造函数,系统将自定义一个构造函数。
④构造函数可以可以带参数,也可不带任何参数(称无参构选函数),还可以使用缺省参数。
⑤不能象普通成员函数一样单独调用。
2.析构函数
⑴析构函数的定义
格式:
~类名(void)
③默认拷贝构造函数是一种浅拷贝,当在类中定义有指针数据成员,用new分配内存空间时,通常应显示定义相应的拷贝构造函数。
㈡对象数组与对象指针
1.对象数组
⑴可以定义对象数组处理多个对象。
⑵可以用缺省参数构造函数为对象数组赋初值。
2.对象指针
可以使用指针来使用对象或对象数组。方法:
⑴定义对象指针;
⑵将指针指向某一对象(或对象数组);

C面向对象程序设计---实验讲义共17页文档

C面向对象程序设计---实验讲义共17页文档
实验要求 : 1)要求有输入提示和输出提示. 2)为你的程序加上注释,使得其清晰可读.
实验过程: 实验心得:
实验九:静态成员、友元和运算符重 载(一)
❖ 实验目的:理解和熟悉静态成员、友元函数的使用;掌握简单 运算符重载的技术。
❖ 实验内容: 1)P300面,例题12.1(静态成员变量的初始化);P312面, 自测题12.3(友元)。 2)定义一个复数类,重载运算符+,-,*,/ 实验要求 :
二、用函数模板实现n个整型、实型、字符串的排序 实验要求 :
1)要求有输入提示和输出提示. 2)为你的程序加上注释,使得其清晰可读. 实验过程: 实验体会:
实验四:数组与结构
实验目的: 掌握数组与结构的设计及使用. 实验内容:
一、P154面,例题7.2(多维数组) 二、p158面,自测题7.3(字符串数组),P160面,例题7.4(利用数
实验十二:继承(二)
实验目的:熟练掌握利用继承机制的C++程序设计。 实验内容:
1)掌握虚类和纯虚函数的用法,编写一个基于含有纯虚函 数的基类,定义继承它的子类。 2)利用多态性设计电话卡继承关系,编程实现电话卡类 实验要求 : 1)要求有输入提示和输出提示 2)为你的程序加上注释,使得其清晰可读。 实验过程: 实验心得:
1)要求有输入提示和输出提示 2)为你的程序加上注释,使得其清晰可读
实验过程: 实验体会:
实验七:类与对象(高级)
实验目的:熟练掌握C++面向对象程序设计技术. 实验内容:
1)P240面,例题10.4(头文件,C++程序的规范结构:多文件). 2) P245面,例题(对象的创建);P249面,例题10.6 ( this指针). 3)P263面,自测题10.2(设计栈类). 实验要求 : 1)要求有输入提示和输出提示. 2)为你的程序加上注释,使得其清晰可读. 3)学会调试程序. 实验过程: 实验心得:

面向对象程序设计C__实验指导书

面向对象程序设计C__实验指导书

实验1Visual C++6.0开发环境应用入门(3学时)1.实验目的1.了解Visual C++6.0的特点。

1.熟悉Visual C++6.0的开发环境。

2.学习用Visual C++6.0编写标准的C++控制台程序。

2.实验任务使用Visual C++来建立一个非图形化的标准C++程序,编译、运行以下程序:#include<iostream.h>C++简单程序设计(3学时)void main(void){cout<<”Hello! \n”;cout<<”Welcome to c++! \n”;}3.实验步骤1.启动Visual C++6.0开发环境从“开始”菜单中选择“程序”| Microsoft Visual Studio 6.0 | Microsoft Visual C++6.0”,显示Visual C++6.0开发环境窗口。

2.创建一个项目(1)单击File 菜单中的New选项,显示New(新建)对话框(如图1-1所示)。

(2)单击Project (项目)标签,在Projects 选项卡中,选择Win32 Console Application(Win 32控制台应用程序)。

在Location(位置)文本框中指定一个路径,在Preject Name (项目名称)文本框中为项目输入一个名字lab1_1,单击OK按钮。

(3)在弹出的Win32 Console Application-Step 1 of 1对话框中选择An Empty Project单选项,然后单击Finish(完成)按钮(如图1-2所示)。

(4)最后在New Project Information 对话框中单击OK按钮,完成项目建立。

图1-1New对话框图1-2创建控制台应用程序第一步3.建立C++源程序文件(1)选择菜单命令Project |Add to Project | New, 弹出New对话框。

《面向对象程序设计》实验指导书(新)

《面向对象程序设计》实验指导书(新)

《面向对象程序设计》实验指导书(新)《面向对象程序设计》实验指导书一、课程教学与实验教学计划学时比:48/16二、适用专业:信息管理与信息系统三、实验目的基本要求能够充分理解面向对象程序设计的思想和应用方法。

能够使用面向对象编程语言进行相应的程序设计和开发。

理解面向对象的基本思想、概念和特性以及面向对象的分析、建模、设计技术与方法。

掌握C++语言基本构成、类与对象、消息传递与函数、函数与运算符重载、继承性、多态性与虚拟函数、数据封装和隐藏及Windows 程序设计基础。

通过实验动手实践,使学生能够掌握面向对象程序设计的特征和基本思想,以及相应的具体实现和Windows程序设计基础知识。

四、实验内容实验一:循环控制(一)实验目的要求:熟悉VC++集成开发环境,学习使用控制台应用程序;创建工程,建立可执行文件并执行,观察结果。

掌握变量的声明和定义方法,掌握循环语句和条件语句的定义、作用和使用方法。

(二)实验设备:1.服务器;2.交换机;3.计算机。

(三)实验内容:1.编程求1!+2!+3!+4!+…+12!。

2.编程求所有的3位数素数,且该数是对称的。

所谓“对称”是指一个数,倒过来还是该数。

例如,375不是对称数,因为倒过来变成了573。

实验二:递归函数(一)实验目的要求:掌握函数的概念和使用方法,掌握递归函数的概念和使用方法。

(二)实验设备:1.服务器;2.交换机;3.计算机。

(三)实验内容:1.用递归函数来求1!+2!+3!+…+12!。

2.用递归的方法建立一个函数int fibonacci(int n),求Fibonacci数列中第n个数的值。

实验三:用气泡法排序(一)实验目的要求:掌握文件读写的方法,掌握递归函数的概念和使用方法。

(二)实验设备:1.服务器;2.交换机;3.计算机。

(三)实验内容:建立一个文件,文件中包含一系列数,用这些数构成一个数组,并按照数值,为这个数组从小到大排序,把排序结果输出到另一个文件中。

面向对象程序设计实验指导书

面向对象程序设计实验指导书
问题一:上述程序的输出结果是什么? 答: x1=6
x2=4 d1=5.6 d2=12 问题二:①处调用的是哪个函数? 答:调用的是 int max_def(int x, int y, int z) { int temp = 0; return (temp=(x>y?x:y))>z?temp:z; } 问题三:②处的输出结果为什么是 d2=12,而不是 d2=12.3? 答:因为①处调用的是整型函数,d2 在此函数中被转换为整型,小数点后面被删除。 2.理解下面的程序并运行,然后回答问题。
7
} private:
int month; };
int day;
int year;
void main() {
CDate a; --------------------------.Set(10,15,2007) ; a.Print(); }
1.2 实验内容
1.2.1 程序阅读
1.理解下面的程序并运行,然后回答问题。
#include <iostream.h>
int max_def(int x, int y) {
return (x>y?x:y); } int max_def(int x, int y, int z) {
int temp = 0; return (temp=(x>y?x:y))>z?temp:z; } double max_def(double x, double y) { return (x>y?x:y); } int main() { int x1 = 0;
试设计一个复数类该类有实部和虚部两个成员数据数据成员采用私有访问权限同时该类有两个公有成员函数分别用来设定数据成员的值和输出数据成员的值在主函数中分别采用对象方式指针方式和引用方式来调用该类的公有函数并设置和输出数据成员的值

面向对象程序设计》C实验报告-32页精选文档

面向对象程序设计》C实验报告-32页精选文档

《面向对象程序设计》实验报告学院:专业:班级学号:姓名:学期:教师:实验一 C++基础练习实验目的和要求1.掌握C++程序的基本格式与规范,学会编写简单的C++程序。

2.理解C++程序结构的特点。

3.熟悉C++程序基本的输入和输出操作。

4.掌握C++数据类型常量和变量以及修饰符的使用方法。

5.掌握函数定义、函数调用和函数说明的方法。

6.熟悉作用域运算符的功能和基本使用方法。

7.掌握C++内存的动态分配与释放方法。

8.理解引用的概念,掌握引用的使用方法。

实验内容和步骤1. 调试如下的代码并回答问题。

#include <iostream.h>void main()//First c++ programchar name[10];cout<<"please input your name:";cin>>name;cout<<"welcome "<<name<<endl;(1)C++的注释和C有何不同?答:C语言的注释有一种,用/*……….*/作为注释分界符号C++除保留了这种注释方式之外,还提供了一种更有效的注释方式,该注释以“//”开始,到行尾结束。

(2)C++的输入和输出所使用的函数及其相应头文件与C有何不同?答:在C中进行输入输出操作时,常使用函数scanf和printf。

C++除了可以照常使用这两个函数进行输入输出外,还增加了标准输入流对象cin和标准输出流对象cout来进行输入和输出。

Iostream是C++系统定义的一个头文件,在这个文件中声明了程序所需要的输入和输出操作的有关信息。

在C语言中头文件中用“.h”作为后缀,如stdio.h、math.h等。

2. 单步调试如下的代码并回答问题。

#include <iostream.h>inline int f(int x){ return 2*x*x+4*x+5; }inline double f(double x){ return 2*x*x+4*x+5; }void main(){ int x=5;double y=5.2;cout<<f(x)<<endl;cout<<f(y)<<endl;(1)inline的含义和作用是什么?答:含义:在函数说明前冠以关键字“inline”,该函数就被声明为内联函数,每当程序中出现对该函数的调用时C++编译器使用函数体中的代码插入到调用该函数的语句处,同时用实参取代形参。

面向对象程序设计(C )实验指导_精简版_befine

面向对象程序设计(C  )实验指导_精简版_befine

面向对象程序设计(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 级数的公式为:⎩⎨⎧>-+-==2)2()1(2,11)(n n fib n fib n n fib 内联函数inline int fib(int n)。

2、程序Ex_Swap 实现数据交换。

分别用指针和引用作为函数mySwap 的形参,并通过重载int 、double 型变量值的交换。

面向对象程序设计实验指导书

面向对象程序设计实验指导书

《面向对象程序设计》实验指导书实验报告应包括的内容:班级,姓名,学号一、实验目的:二、实验内容:三、源程序四、实验结果一、实验基本步骤•打开Microsoft Visual C++ 6.0,选择[File] 一〉[New]—〉[File]—〉选择C++ Source File,在File里输入要保存的文件名;Location:选择要保存的文件路径,将默认的路径改为以自己名字命名的文件夹,建立一源程序文件。

如图1所示。

图1 建立源文件•按照所给的程序代码输入到计算机中,用[File] 一〉[Save All]存盘,或用存盘。

检查源程序,并编译运行,如图2所示。

编译过程中如有语法错误,可参考最下端提示信息。

如图3所示。

图2 保存、编译源程序图3 错误提示信息说明:在C++程序中如果使用了系统提供的一些功能(如cin和cout),就必须在程序的首部首先声明相关的包含这些功能的头文件(如iostream.h),否则,系统无法找到实现这些功能的代码。

在C++语言中一个头文件就是一个类库,类与类的预定义对象就包含在其中。

所以,在使用这些类库中所包含的预定义对象时,必须在程序首部加以声明。

注意:如运行完一个程序,再建立一个新的源程序时,可将以前运行完的程序注释掉,如图4所示。

如果不选用此方法,要重新建立源程序,应将当前工作区关闭,而不能只关闭当前源程序文件。

关闭工作区方法:[File]—〉Close W orkspace。

如图5所示。

工作区关闭以后,再按开始的方式选择[File] 一〉[New]—〉[File]—〉选择C++ Source File。

图4 注释程序界面图5 关闭工作区界面实验内容实验一C++程序设计基础练习一、实验目的1、学习编写简单的C++程序,并掌握C++程序的基本格式与规范。

2、理解C++程序结构的特点。

3、学习C++程序基本的输入输出操作。

4、学习数据类型常量和变量以及修饰符的使用。

5、学习基本的函数定义与调用方法。

【免费下载】面向对象程序设计(C#)实验指导书

【免费下载】面向对象程序设计(C#)实验指导书
{ case ..: … break; case ..: … break; default:
} (3) 三目条件运算符:
int b = (a>3)?5:10;
实验要求: 完成计算阶乘的 WPF 程序
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷资,配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高与中带资负料荷试下卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试交写5、卷底重电保。要气护管设设装线备备置敷4高、调动设中电试作技资气高,术料课中并3中试、件资且包卷管中料拒含试路调试绝线验敷试卷动槽方设技作、案技术,管以术来架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内 纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

C面向对象程序设计实验指导书样本

C面向对象程序设计实验指导书样本

《面向对象程序设计》实验指导书适用专业:计算机科学与技术信息与计算科学编写者: 面向对象程序设计课程组3月一、基本目的面向对象程序设计是计算机学科的核心课程之一, C++语言程序设计是当前自20世纪80年代以来迅速推广和广泛使用的一种程序设计语言。

经过本课程实验, 使学生掌握基本的面向对象的程序设计方法, 熟练类与对象、继承与派生、多态性、模板、异常处理机制以及I/O流等程序设计能力, 并利用C++语言进行实际问题的程序设计。

二、实验环境建议使用Microsoft Visual C++ 6.0集成开发环境。

三、实验要求1.每人独立完成实验和实验报告。

2.每个实验包括多个实验题目,要求每个实验在规定时间内设计、实现尽量多的题目。

3.程序书写符合程序书写规范。

四、实验内容五、实验报告每人针对每个实验上交一份实验报告, 不接受不完整的实验报告, 或者说明与程序或结果不符合的实验报告。

实验报告主要包括四方面内容:⑴实验设计按照每个实验题目要求, 设计相应的类以及函数的实现方法, 并用适当的方式进行描述。

(2) 程序清单实验实现的源程序, 要求符合代码行首缩进、单句代码换行、标识符命名合理, 并包括必要的注释。

(3)运行结果原始数据, 程序运行结果截图及说明。

(4) 实验总结调试过程及调试中遇到的问题及解决办法;调试程序的收获心得与体会, 分析不足之处。

实验一 C++程序设计基础练习一、实验目的1、学习编写简单的C++程序, 并掌握C++程序的基本格式与规范。

2、理解C++程序结构的特点。

3、学习C++程序基本的输入输出操作。

4、学习数据类型常量和变量以及修饰符的使用。

5、学习基本的函数定义与调用方法。

6、学习作用域运算符的功能与基本使用方法。

7、学习内存的动态分配与释放方法。

8、学习引用的概念, 掌握引用的基本使用方法。

二、试验内容( 一) 程序填空1、输入并运行所给的下述参考程序, 并将程序中的注释部分也输入计算机, 体会和理解程序的基本格式规范。

面向对象与C 程序设计—实验指导

面向对象与C  程序设计—实验指导

实验一、C++编程基础一、目的与要求(1)熟悉Qt编程环境,控制台程序的创建过程;(2)了解C++程序的框架与编程风格;(3)熟练掌握选择、循环、输入输出编程语句;(4)能够熟练地进行C++程序的编辑、编译、连接、运行以及调试(5)理解名字空间,预编译等知识点二、实验内容开发环境介绍Qt提供了一个集源程序编辑、代码编译与调试于一体的开发环境,这个环境称为集成开发环境,这个环境称为集成开发环境,对于集成开发环境的熟悉程度直接影响程序设计的效率。

开发环境是程序员同Qt的交互界面,通过它程序员可以访问C++源代码编辑器、资源编辑器,使用内部调试器,并且可以创建工程文件。

用鼠标单击Qt Creator应用程序的桌面图标,如图所示创建Qt控制台程序启动Qt后,选择File→NewFile or Project菜单命令,弹出如图所示的新建工程对话框。

单击选择Qt4 Console Application 工程类型,点击OK 按钮。

输入工程名称,单击Next按钮,选择QtCore 复选框,点击Next,再点击Finish完成工程创建。

编辑程序双击main.cpp文件,可以编辑该主文件,这个主文件就是源代码编辑器,如图所示。

左上区域是工程信息的显示区域。

编辑窗口主要用于输入C++程序。

工作区窗口左边有一个快捷工具栏,可以选择相应的窗口,Edit表示要编辑源文件,Output是输出编译的相关信息,如编译时的出错信息及链接信息等,Debug是调试信息输出窗口,Project则列出表示工程的相关信息。

在编辑界面下请输入以下程序完成你的第一个C++程序:#include<iostream>using namespace std;int main(int argc,char*argv[]){QCoreApplication a(argc,argv);int num1,num2;cout<<"please enter two integers:"<<endl;cin>>num1>>num2;cout<<num1<<'+'<<num2<<'='<<num1+num2<<endl;return a.exec();}源程序编辑完毕后,选择Build→Build All菜单命令(或者是按快捷键ctrl+shift+B),这样可以在输出窗口看到本程序项目相关的编译信息,编译错误(error)或者警告(warning)。

《面向对象程序设计》实验指导书

《面向对象程序设计》实验指导书

《面向对象程序设计》实验指导书第一部分实验教学大纲课程名称:面向对象程序设计实验一、课程简介及基本要求面向对象的程序设计是一门实践性很强的课程,每个学生必须完成一定数量的上机作业。

通过上机作业进一步加深对课程基本内容的理解。

同时,在程序设计方法及上机操作等基本技能和科学作风方面受到比较系统的、严格的训练。

由于学生编程和上机的熟悉程度往往差别较大,本大纲所要求的实验为每个学生必须完成的实验,即最低要求。

其它上机内容由学生在教师指导下自选,内容可以是习题中编写的程序,也可以是学生解决实际问题中所编写的程序。

二、实验课程目的与要求实验课是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。

本课程使学生熟悉C++的语法特性,了解C与C++的区别和兼容性;理解面向对象程序设计的基本原理,包括类、对象、抽象、封装、继承和多态性等关键要素以及其关键语法特性—类;掌握用C++编写面向对象程序的一般方法;了解VC++编程环境。

三、主要仪器设备PC机器一台。

装有C++builder 或Visual C++或其他的C++编译软件。

四、实验方式与基本要求要求把每次实验的程序文本和运行结果通过邮件方式发送给实验指导老师.五.考核与报告本课程实验考试方式是考查,按一般课程考试方式进行,主要内容包括实验操作和实验报告,实验成绩占该课程形成性考核成绩的30%。

实验报告的规范:实验完成后填写统一的实验报告,给出实验内容题目、年级、姓名、学号、指导教师、完成日期,并详细填写:实验目的、实验程序、实验结果及分析、存在的问题。

实验0、C++开发环境应用(课外实验 2学时)1、实验目的(1)了解C++开发工具的特点(2)熟悉C++开发环境(2)学习用C++编写标准的C++程序2、实验任务使用C++来建立一个非图形化的标准C++程序,编译、运行下例程序:#include <iostream.h>void main(void){cout<<”Hello!\n”;cout<<”Welcome to C++!\n”;}3、实验步骤(1)启动Visual C++开发环境(2)创建一个项目a.单击File菜单中的New选项,显示示新建对话框b.选择Win32 Console Application(VC++)。

《面向对象程序设计》实验指导书

《面向对象程序设计》实验指导书

《⾯向对象程序设计》实验指导书《⾯向对象程序设计》实验指导书实验⼀ Java开发环境⼀、实验⽬的:1、熟悉JAVA开发环境(JBUILDER/JDK)2、认识Java程序结构。

⼆、实验内容:1、配置JDK,编译调试HelloWorld程序。

2、熟悉JAVA开发⼯具,编译调试HelloWorld程序。

三、实验要求:1、HelloWorld程序输出⼀条简单的问候信息;2、实验报告中对程序结构做出详细的解释;3、实验报告中给出配置JDK的步骤。

四、实验学时、性质:2学时、验证性五、实验步骤:1、进⼊Java编程环境;2、新建⼀个Java⽂件,命名为HelloWorld.java;3、定义主⽅法public static void main(String[ ] args);调⽤System.out.println()⽅法,使程序输出⼀条问候信息;4、编译运⾏程序,观察运⾏情况和输出结果。

(如果使⽤JDK环境,调⽤javac.exe和java.exe编译和执⾏程序)实验⼆类与对象⼀、实验⽬的:1、掌握类的定义与成员的封装。

2、掌握对象的创建,对象属性的访问和⽅法的调⽤。

3、掌握包的使⽤。

⼆、实验内容:1、⾃定义⼀个学⽣类。

2、导⼊并访问其他同学定义的学⽣类。

三、实验要求:2、实验报告中记录访问不同属性时编译器的反馈并分析原因。

四、实验学时、性质:3学时、验证性五、实验步骤:1、创建⼀个Java包,以⾃⼰的英⽂名字命名。

2、定义⼀个学⽣类,包含三个属性学号、姓名和性别,访问修饰符分别是private、⽆修饰符和public修饰符。

3、在另⼀个类中创建学⽣类的对象,分别设置三个属性的值,观察实验结果。

4、导⼊同学定义的学⽣类。

分别访问三个属性,观察实验结果。

实验三数据类型与数组⼀、实验⽬的:1、掌握数据类型与数组的定义、初始化与使⽤。

⼆、实验内容:1、查看⾃⼰名字的UNICODE编码。

2、转置⼆维矩阵。

三、实验要求:1、使⽤已知给定的数值初始化⼀个5X5的⼆维数组。

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

面向对象程序设计(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 级数的公式为:⎩⎨⎧>-+-==2)2()1(2,11)(n n fib n fib n n fib 内联函数inline int fib(int n)。

2、程序Ex_Swap 实现数据交换。

分别用指针和引用作为函数mySwap 的形参,并通过重载int 、double 型变量值的交换。

3、设计一个函数,形参是引用类型,要求输入三个整数(cin 输入,cout 提示输入),按从小到大排序后输出,编程完整的程序并测试。

4、程序Ex-Number 实现下述功能:由17人围成一个圈,编号1~17,从第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 <iostream.h>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 MyArray{public: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 zoo{public: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(用来设计形状大小)。

相关文档
最新文档