C++程序设计实验报告
学 院(部): 专 业: 学 生 姓 名: 顾少 指 导 老 师: 沈浩 班 级: 学号
2015年12月
实验一类和对象的应用
(实验课时:2 实验性质:设计)
实验名称: 类和对象的应用
实验目的: (1)进一步学习VC++6.0开发环境及程序调试方法。 (2)熟悉C++面向对象的程序设计的基本概念;
(3)练习类的定义和对象的创建;
(4)练习对象的成员函数的调用方法以及对象的初始化;
实验设备:(1)硬件:个人微机(配置不低于:CPU为P4,主频1.6G,内存256MB,硬盘40GB);
(2)软件:操作系统为WindowsXP(或2000、server2003等),工具软件为Visual
C++6.0。
实验内容: 事先编好程序,上机调试和运行程序,分析结果。 (1)编程1:有一个3*4的整形矩阵,要求编写一个函数求出其中值最大的那个元素的值,以及其所在的行号和列号;使用debug调试功能:追踪程序中函数的运行。
(2)编程2:定义并实现一个简单的学生类:公有属性为:学号、姓名、班级,
成员函数为输入和显示一个学生的上述信息,要求成员函数写在.cpp文件中,成员函数说明写在.h文件中;
(3)将程序(2)中的数据成员改为私有的,考虑对程序有何影响;
(4)编程3:设计一个长方形类 Rectangle。成员变量包括:长度和宽度,成员
函数有:Area计算面积,Set设置长方形的长和宽,Get获取长方形的长和宽。最后,编写一个主程序来测试该类及成员函数。
(5)编程4:设计一个汽车类Car。成员变量有:品牌,颜色,车门,车灯,行
驶速度。成员函数有:打开车门、打开车灯、加速、减速等。最后,编写一个主程序来测试该类及功能。(提示:在成员函数中用输出成员函数名来表示该成员函数被调用) 实验步骤: (1)启动Visual C++6.0开发环境;
(2)创建一个项目;
(3)建立C++源程序文件; (4)编辑C++源程序文件内容; (5)建立并运行可执行程序; (6)关闭工作空间。
#include
int fun(int a[3][4],int&x,int& y) { int max = a[0][0]; for(inti=0; i<=2; i++)
{ for(int j=0; j<=3; j++) { if(max <= a[i][j]) { max = a[i][j]; x = i;y = j; } } } return max; }
int main() { intarr[3][4]={{1,2,3,4},{224,67,85,3},{5,8,755,3}}; intm,n,MAX; MAX = fun(arr,m,n); cout<<\ cout<<\ cout<<\ system(\ return 0; }
实验要求: (1)掌握C++类和对象的基本概念;
(2)掌握C++类和对象的定义及使用; (3)掌握对象的成员函数的调用方法; (4)程序格式规范,程序运行正确;
(5)认真书写实验报告,如实填写各项实验内容。
实验二 类的构造函数、析构函数的应用
(实验课时:2 实验性质:设计)
实验名称: 类的构造函数、析构函数的应用
实验目的: (1)练习类的构造函数、析构函数的定义和使用方法;
(2)练习对象数组、对象指针的使用; (3)练习类的静态成员的使用。
实验设备:(1)硬件:个人微机(配置不低于:CPU为P4,主频1.6G,内存256MB,硬盘40GB);
(2)软件:操作系统为WindowsXP(或2000、server2003等),工具软件为Visual
C++6.0。
实验内容: (1)编程:设计一个学生类。要求:
学生的属性有:学号,姓名,性别; 学生的行为有:输入学生的上述属性和输出学生的上述属性。 编写构造函数对学生的所有属性初始化,无参数的构造函数设置学号为1001,姓名为“张三”,性别为‘M’(‘M’代表男,‘F’代表女)。
(2)修改上述程序:修改定义析构函数,在析构函数中输出学号。再运行程序,
观察运行结果。
(3)修改上述main程序:使用对象指针,用new生成一个学生对象,然后,
用delete清除该对象,使用单步运行观察运行结果。
(4)修改上述程序:增加一个私有数据成员成绩score;增加一个成员函数
readdata:输入一学生的学号和成绩;增加一个成员函数getscore:取得学生的成绩。再修改main函数;定义一个班的同学(假如一个班有10位同学,采用对象数组),输出该班的平均成绩。
(5)不用对象数组,而使用静态的数据成员来实现(4)中求一个班的学生的平
均成绩,学生的成绩在构造函数中输入。
(提示:定义2个静态数据成员,1个是存储总成绩,1个是存储学生人数)。 (6)分别运行上述程序,并分析结果。
注意:在增加一个新的功能时,可以把暂时不需要的功能代码给注释掉。
实验步骤: (1)启动Visual C++6.0开发环境;
(2)创建一个项目;
(3)建立C++源程序文件; (4)编辑C++源程序文件内容; (5)建立并运行可执行程序; (6)关闭工作空间。
#include
public: intnum,clas; string name; void print(); void pout(); };*/
voidCstudent::print() { cout<< \ <
}
voidCstudent::pout() { cout<< \ cout<< \ cout<< \}
int main() { Cstudentstu; stu.print(); stu.pout(); system(\ return 0; }
实验要求: (1)掌握C++类的构造函数、析构函数的定义和使用方法;
(2)掌握C++对象数组、对象指针的使用; (3)掌握类的静态数据成员的定义和使用; (4)程序格式规范,程序运行正确;
(5)认真书写实验报告,如实填写各项实验内容。
实验三 类的继承与派生
(实验课时:2 实验性质:设计)
实验名称:类的继承与派生
实验目的: (1)进一步理解继承与派生的概念;
(2)掌握通过继承派生出一个新的类的方法;
实验设备:(1)硬件:个人微机(配置不低于:CPU为P4,主频1.6G,内存256MB,硬盘40GB);
(2)软件:操作系统为WindowsXP(或2000、server2003等),工具软件为Visual
C++6.0。
实验内容: 事先编好程序,上机调试和运行程序,分析结果。
(1)编程:编写一个学生类Student。要求: ①学生的保护属性有:学号(Num),姓名(Name),性别(Sex);
学生的公用成员函数有:ReadData( )用于输入Num、Name、Sex。OutputData( )
用于输出Num、Name、Sex。
②然后,在学生类的基础上派生出研究生类Graduate,该类新增私有属性研究方
向(ResearchD),新增公用成员函数ResearchWork( ),该函数功能为输出学号和研究方向。
③编写main函数测试基类和派生类的各属性很函数的访问。修改派生类的派生