您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C++程序设计实验报告
C++程序设计实验报告学院(部):专业:学生姓名:顾少指导老师:沈浩班级:学号2015年12月实验一类和对象的应用(实验课时:2实验性质:设计)实验名称:类和对象的应用实验目的:(1)进一步学习VC++6.0开发环境及程序调试方法。(2)熟悉C++面向对象的程序设计的基本概念;(3)练习类的定义和对象的创建;(4)练习对象的成员函数的调用方法以及对象的初始化;实验设备:(1)硬件:个人微机(配置不低于:CPU为P4,主频1.6G,内存256MB,硬盘40GB);(2)软件:操作系统为WindowsXP(或2000、server2003等),工具软件为VisualC++6.0。实验内容:事先编好程序,上机调试和运行程序,分析结果。(1)编程1:有一个3*4的整形矩阵,要求编写一个函数求出其中值最大的那个元素的值,以及其所在的行号和列号;使用debug调试功能:追踪程序中函数的运行。(2)编程2:定义并实现一个简单的学生类:公有属性为:学号、姓名、班级,成员函数为输入和显示一个学生的上述信息,要求成员函数写在.cpp文件中,成员函数说明写在.h文件中;(3)将程序(2)中的数据成员改为私有的,考虑对程序有何影响;(4)编程3:设计一个长方形类Rectangle。成员变量包括:长度和宽度,成员函数有:Area计算面积,Set设置长方形的长和宽,Get获取长方形的长和宽。最后,编写一个主程序来测试该类及成员函数。(5)编程4:设计一个汽车类Car。成员变量有:品牌,颜色,车门,车灯,行驶速度。成员函数有:打开车门、打开车灯、加速、减速等。最后,编写一个主程序来测试该类及功能。(提示:在成员函数中用输出成员函数名来表示该成员函数被调用)实验步骤:(1)启动VisualC++6.0开发环境;(2)创建一个项目;(3)建立C++源程序文件;(4)编辑C++源程序文件内容;(5)建立并运行可执行程序;(6)关闭工作空间。#includeiostreamusingnamespacestd;intfun(inta[3][4],int&x,int&y){intmax=a[0][0];for(inti=0;i=2;i++){for(intj=0;j=3;j++){if(max=a[i][j]){max=a[i][j];x=i;y=j;}}}returnmax;}intmain(){intarr[3][4]={{1,2,3,4},{224,67,85,3},{5,8,755,3}};intm,n,MAX;MAX=fun(arr,m,n);coutThemaximum:MAXendl;coutAbscissais:mendl;coutOrdinateis:nendl;system(pause);return0;}实验要求:(1)掌握C++类和对象的基本概念;(2)掌握C++类和对象的定义及使用;(3)掌握对象的成员函数的调用方法;(4)程序格式规范,程序运行正确;(5)认真书写实验报告,如实填写各项实验内容。实验二类的构造函数、析构函数的应用(实验课时:2实验性质:设计)实验名称:类的构造函数、析构函数的应用实验目的:(1)练习类的构造函数、析构函数的定义和使用方法;(2)练习对象数组、对象指针的使用;(3)练习类的静态成员的使用。实验设备:(1)硬件:个人微机(配置不低于:CPU为P4,主频1.6G,内存256MB,硬盘40GB);(2)软件:操作系统为WindowsXP(或2000、server2003等),工具软件为VisualC++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)启动VisualC++6.0开发环境;(2)创建一个项目;(3)建立C++源程序文件;(4)编辑C++源程序文件内容;(5)建立并运行可执行程序;(6)关闭工作空间。#includeiostream#includestring#includehead.husingnamespacestd;/*classCstudent{public:intnum,clas;stringname;voidprint();voidpout();};*/voidCstudent::print(){coutEnterStudent'snumber:endl;cinnum;coutEnterStudent'sname:endl;cinname;coutEnterStudent'sclass:endl;cinclas;}voidCstudent::pout(){coutNumber:numendl;coutName:nameendl;coutClass:clasendl;}intmain(){Cstudentstu;stu.print();stu.pout();system(pause);return0;}实验要求:(1)掌握C++类的构造函数、析构函数的定义和使用方法;(2)掌握C++对象数组、对象指针的使用;(3)掌握类的静态数据成员的定义和使用;(4)程序格式规范,程序运行正确;(5)认真书写实验报告,如实填写各项实验内容。实验三类的继承与派生(实验课时:2实验性质:设计)实验名称:类的继承与派生实验目的:(1)进一步理解继承与派生的概念;(2)掌握通过继承派生出一个新的类的方法;实验设备:(1)硬件:个人微机(配置不低于:CPU为P4,主频1.6G,内存256MB,硬盘40GB);(2)软件:操作系统为WindowsXP(或2000、server2003等),工具软件为VisualC++6.0。实验内容:事先编好程序,上机调试和运行程序,分析结果。(1)编程:编写一个学生类Student。要求:①学生的保护属性有:学号(Num),姓名(Name),性别(Sex);学生的公用成员函数有:ReadData()用于输入Num、Name、Sex。OutputData()用于输出Num、Name、Sex。②然后,在学生类的基础上派生出研究生类Graduate,该类新增私有属性研究方向(ResearchD),新增公用成员函数ResearchWork(),该函数功能为输出学号和研究方向。③编写main函数测试基类和派生类的各属性很函数的访问。修改派生类的派生方式以及基类成员的访问方式,再测试看看基类和派生类的属性访问方式有何不同。(2)编程:在上述工程中增加一个Teacher(教师)类,采用多重继承方式由Student和Teacher类公有派生出新类Student_Teacher。要求:①Teacher类的保护成员有:Name、Sex、Title(职称)、Wages(工资)。两个基类中的Name、Sex同名,在引用这些数据成员时,指定作用域。②在派生类Student_Teacher中,增加两个成员函数:ReadF1()用于读入:Num、Name、Sex、Title、Wages。Show()用于输出数据,在Show()中,首先调用Student类的display()函数用于输出Num、Name、Sex,然后再用cout语句输出Title、Wages。③在类体中声明成员函数,在类外定义成员函数。思考题:类的三种继承方式的主要区别是什么?实验步骤:(1)启动VisualC++6.0开发环境;(2)创建一个项目;(3)建立C++源程序文件;(4)编辑C++源程序文件内容;(5)建立并运行可执行程序;(6)关闭工作空间。#includeiostreamusingnamespacestd;inta,b;classCrectangle{public:intlen,wid,s;intarea();voidset(int,int);voidget();};intCrectangle::area(){s=len*wid;returns;}voidCrectangle::set(intm,intn){len=m;wid=n;}voidCrectangle::get(){coutlengthis:lenendl;coutwidthis:widendl;coutAreais:sendl;}intmain(){Crectanglerec;rec.set(3,4);rec.area();rec.get();}实验要求:(1)掌握继承与派生的概念;(2)掌握通过继承派生出一个新的类的方法;(3)程序格式规范,程序运行正确;(4)认真书写实验报告,如实填写各项实验内容。实验四类的多态性与虚函数(实验课时:2实验性质:设计)实验名称:类的多态性与虚函数实验目的:(1)了解多态性的概念;(2)了解虚函数的作用和使用方法;(3)了解纯虚函数和抽象类的概念和用法。实验设备:(1)硬件:个人微机(配置不低于:CPU为P4,主频1.6G,内存256MB,硬盘40GB);(2)软件:操作系统为WindowsXP(或2000、server2003等),工具软件为VisualC++6.0。实验内容:事先编好程序,上机调试和运行程序,分析结果。(1)编程:定义抽象基类Shape(图形)。Shape类有一个公共的纯虚函数Area,用于派生类求图形的面积。(2)由Shape派生出3个派生类:Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数PrintArea分别输出以上三者的面积,3个图形的数据在定义对象时给定。在主程序中测试这些类的PrintArea函数。(3)在类Circle基础上再派生一个圆柱体Cylinder,重载Area函数求圆柱体的体积。然后,编写主程序采用静态多态性和动态多态性分别测试Area函数。(4)在类Circle中定义一个析构函数,让它输出一行信息“ThisisCicleDestruction。”,在类Cylinder中定义一个析构函数,让它输出一行信息“ThisisCylinderDestruction。”。在主程序中用指向基类Circle类的指针动态生成Cylinder类对象,然后用delete语句释放该对象,测试看看运行结果如何。再修改Circle的析构函数为虚函数,测试看看运行结果如何。(5)运行上述程序,并分析结果。实验要求:(1)掌握多态性的概念;(2)掌握虚函数的作用和使用方法;(3)掌握纯虚函数和抽象类的概念和用法;(4)程序格式规范,程序运行正确;(5)认真书写实验报告,如实填写各项实验内容。思考题:虚函数的作用是什么?#includeiostream#includestringusingnamespacestd;classCar{private:charbrand[10],color[10];booldoor,lamp;do
本文标题:C++程序设计实验报告
链接地址:https://www.777doc.com/doc-4220622 .html