面向对象程序设计C++实验指导书Word文档下载推荐.docx

上传人:b****5 文档编号:16144049 上传时间:2022-11-20 格式:DOCX 页数:9 大小:126.76KB
下载 相关 举报
面向对象程序设计C++实验指导书Word文档下载推荐.docx_第1页
第1页 / 共9页
面向对象程序设计C++实验指导书Word文档下载推荐.docx_第2页
第2页 / 共9页
面向对象程序设计C++实验指导书Word文档下载推荐.docx_第3页
第3页 / 共9页
面向对象程序设计C++实验指导书Word文档下载推荐.docx_第4页
第4页 / 共9页
面向对象程序设计C++实验指导书Word文档下载推荐.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

面向对象程序设计C++实验指导书Word文档下载推荐.docx

《面向对象程序设计C++实验指导书Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计C++实验指导书Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。

面向对象程序设计C++实验指导书Word文档下载推荐.docx

2)建立和运行只包含一个C++源程序的方法

①建立只包含一个C++源程序的方法

一个最简单的C++程序只包含一个源程序的文件,建立这样的一个C++源程序的方法是在MicrosoftVisualC++主窗口的菜单栏中选择“File→New”命令,弹出“New”对话框,单击“Files”选项卡,在其列表框中选择“C++SourceFile”选项,表示要建立一个新的C++源程序文件,然后在对话框右半部分的Location文本框中输入准备编辑的源程序文件的存储路径(假设为F:

\C++),表示准备编辑的源程序文件将存放在F盘C++子目录下,在其上方的File文本框中输入准备编辑的源程序文件的名字(假设为example1.cpp),如图1-2所示。

图1-2Files中New选项卡

单击“OK”按钮回到主窗口,在程序编辑窗口编辑源程序文件,如图1-3所示。

选择“File→Save”命令或快捷键Ctrl+S保存源程序文件。

也可以选择“File→SaveAs”命令指定新的文件名和路径,这时输入和编辑的源程序就以example1.cpp为文件名存放在F:

\C++子目录下。

②运行只包含一个C++源程序的方法

若要运行当前的源文件或一个已有的源文件,首先需要对该源文件进行编译,只要选择“Build→Compileexample1.cpp”命令进行编译即可。

图1-3编辑源文件

在选择编译命令后,屏幕上出现一个对话框,内容是“Thisbuildcommandrequiresanactiveprojectworkspace.Wouldyouliketocreateadefaultprojectworkspace?

”(此编译命令要求有一个有效的项目工作区。

你是否同意建立一个默认的项目工作区?

),如图1-4所示。

图1-4对话框提示信息

单击“是(Y)”按钮,表示同意由系统建立一个默认的项目工作区,然后开始编译。

在进行编译时,编译系统检查源程序文件有无语法错误,然后在主窗口下部的调试信息窗口输出编译的信息。

如果有错误,就会指出错误的位置和性质,如图1-5所示。

如果存在致命错误(error)和警告性错误(warning),则需要修改并重新编译;

没有错误,则编译成功,生成一个example1.obj文件。

编译成功后,就可以对程序文件进行连接了。

选择主菜单中的“Build→Buildexample1.exe”命令,表示要求连接并建立一个可执行文件example1.exe。

运行该文件,在屏幕就可以看到输出结果。

图1-5编译提示信息

2、引用类型和指针类型参数传递

比较教材P80-81中5_6.cpp和5_7.cpp代码,并运行、理解。

3、数组类型参数传递

学习教材P82中的5_9.cpp代码,理解数组类型参数传递的形式。

4、初步学习类和对象的概念

学习教材P94中的代码实例,学会创建一个Student类,并使用它。

实验报告传至fzu_cpp@pw:

qwerty

邮件名和文件名:

学号_姓名_实验1.doc/docx

实验2类与对象(2学时)

1.掌握C++类的概念和基本组成,学会设计类,掌握类对象的声明和使用方法;

2.熟悉各种成员函数包括构造函数、析构函数、内联函数的定义与使用;

3.掌握静态数据成员的使用。

1.声明一个Circle类,有:

数据成员Radius(半径),成员函数GetArea()计算圆的面积,构造函数Circle(floatradius)进行初始化和析构函数。

在主函数中创建一个Circle类的对象进行测试(输入一个数值,作为Circle类对象的半径,调用该对象的GetArea()求以该数值为半径的圆的面积)。

2.声明一个tree类,有:

数据成员ages(树龄),成员函数grow(intyears)对ages加上years,成员函数age()显示对象的数据成员ages的值,构造函数tree(intn=0)进行初始化,析构函数。

在主函数中创建一个tree类的对象进行测试(创建一个树龄为18的对象,调用age()显示树龄,之后调用grow(4),生长4年,再显示树龄)。

3.声明一个名为Rectangle的矩形类,其属性为矩形的左下角和右上角两点的坐标,并有友元函数计算矩形的周长及面积。

编程实现求左下角与右上角坐标分别为(2.1,3.2),(5.2,6.3)的矩形周长及面积。

并编写一个友元类,类中的成员函数实现坐标点的显示。

#include<

iostream>

usingnamespacestd;

classRectangle

{

protected:

doublex[1][2];

doubley[1][2];

public:

Rectangle:

:

Rectangle()

for(inti=0;

i<

1;

i++)

for(intj=0;

j<

2;

j++)

x[i][j]=0;

for(inti=0;

y[i][j]=0;

}

doubleRectangle:

circumference(Rectanglea,Rectangleb)

{doublec;

c=abs(a.x[0][0]-b.x[0][0])*2+abs(a.x[0][1]-b.x[0][1])*2;

cout<

<

”周长为:

”<

c<

endl;

returnc;

area(Rectanglea,Rectangleb)

doubled;

d=abs(a.x[0][0]-b.x[0][0])*abs(a.x[0][1]-b.x[0][1]);

“面积为:

d<

returnd;

frienddoublexianshi(Rectanglea,Rectangleb)

cout<

”坐标点1为:

(”<

a.x[0][0]<

””<

a.x[0][1]<

”)”<

”坐标点2为:

b.x[0][0]<

b.x[0][1]<

voidmain()

Rectanglea1(2.1,3.2),a2(5.2,6.3),a3;

a3.circumference(a1,a2);

a3.area(a1,a2);

xianshi(a1,a2);

三、编写实验报告

实验3运算符重载

1.理解运算符重载的意义和重载规则;

2.掌握运算符重载为成员函数和友元函数的方法;

3.掌握单目运算符和双目运算符的重载方法。

1.有两个矩阵a和b,均为2行3列。

1)求两个矩阵之和。

重载运算符“+”,使之能用于矩阵相加。

如:

c=a+b。

2)如果参加运算的两个操作数中一个是整数,即矩阵+3或3+矩阵形式。

进行加法运算时也能得出和。

2.定义一个复数类Complex,重载运算符“+”,“-”,“*”,“/”,使之能用于复数的加、减、乘、除运算。

分别重载运算符函数作为Complex类的成员函数和非成员函数。

请编程,分别求两个复数的和、差、积、商。

3.设向量X=(x1,x2,x3)和Y=(y1,y2,y3),则它们之间的加减和积分别定义为:

X+Y=(x1+y1,x2+y2,x3+y3)

X-Y=(x1-y1,x2-y2,x3-y3)

X*Y=(x1*y1+x2*y2+x3*y3)

编程序对运算符“+”、“-”、“*”重载,实现向量之间的加、减、乘运算。

实验4类的继承(2学时)

1.掌握类的继承的类别与方式;

了解派生类中如何使用基类的成员、基类成员在派生类中的访问控制;

2.掌握继承中构造函数和析构函数的调用过程;

3.掌握多基继承的使用与访问方法,并理解类层次中访问规则;

4.掌握虚基类的定义及使用。

1.给出一个Document类,从Document派生出Book类,增加PageCount变量。

在主函数中进行测试,创建Book类对象并进行初始化,输出书名和页数。

2.设计一个单基继承的类层次程序,利用Person类派生出Student类,增加属性xh(学号),Person类中至少有姓名、年龄等数据成员,成员函数中构造函数对其初始化,析构函数释放相应存储单元,输出函数输出其数据成员的值,其它成员函数根据需要添加,在主函数中进行测试。

3.定义一个学生类Student和教师类Teacher,学生类有姓名、学号、私有数据成员,教师类有姓名、工作证号、职称、课程、周学时数。

再定义一个助教类TA,继承学生类和教师类,该类可以使用学生类的全部数据成员,以及教师类的课程和周学时数的数据成员。

要求:

每个类提供自定义的构造函数和析构函数,并通过同名函数ShowInfo来显示全部数据成员的值。

4.设计一个虚基类Person,包含姓名和年龄私有数据成员以及相关的成员函数;

由它派生出领导类Leader,包含职务和部门私有数据成员以及相关的成员函数;

再由Person派生出工程师类Engineer,包含职务和专业私有数据成员以及相关的成员函数;

再由Leader和Engineer类派生出主任工程师类Chairman。

并采用相关数据进行测试。

实验5多态与虚函数

1.理解多态的概念

2.掌握如何用虚函数实现运行时多态

3.掌握如何利用抽象类

1.设计一个图形类(Shape),由它派生出三角形类(Triangle)、正方形类(Square)、圆形类(Circle),利用虚函数计算图形面积,并在主函数中进行测试。

2.定义一个教师类,由教师类派生出讲师、副教授、教授类。

教师的工资分别由基本工资、课时费和津贴构成。

假设讲师、副教授、教授的基本工资分别为800、900、1000元,课时费分别为每小时40、45、50元,津贴分别为1300、1800、2300。

定义虚函数来计算教师的工资,并通过主函数来进行验证。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1