C++第一次实验 - 图文 下载本文

广州大学学生实验报告

开课学院及实验室: 2016年11 月1日

学院 机电学院 年级、专业、班 姓名 学号 实验课程名称 面对对象程序设计 成绩 实验项目名称 C++类和对象的应用 指导老师 一、 实验目的 1) 回顾C语言的基本语法点,并熟练进行编程(重点:结构体的应用以及各种语句的应用) 2) 通过编写程序,深刻理解类的封装机制,掌握对类内部成员变量的保护。 3) 掌握类的构造函数、析构函数的定义和使用方法; 4) 学习重载函数,有默认参数函数的使用方法 5) 学会将C++的类通过“*.h”和“*.cpp”实现 二、 实验要求 1) 通过编程掌握C++类的声明、定义、构造函数、析构函数的定义和使用方法,理解面向对象程序设计的基本理念以及构造函数,析构函数在对象的生成和释放过程中的作用。 2) 通过编程掌握函数重载,有默认参数函数的使用方法,了解“重载函数”和“有默认参数函数”在使用过程中需注意的问题。 三、 实验设备 1) 硬件:个人微机 2) 软件:操作系统为WindowsXP(或Win7等),工具软件为Visual C++6.0,Visual Studio 2003, Visual Studio 2005, Visual Studio 2008, Visual Studio 2010等。 四、 实验内容 1) 步骤一: 新建一个空工程,名称为“Human”,为“Human”工程添加源文件“Human.cpp”。 在“Human”工程中新建头文件“Person.h”和源文件“Person.cpp” 在源文件“Human.cpp”中输入以下代码:

在头文件“Person.h”中输入以下代码: 在源文件“Person.cpp”中输入以下代码: 2) 步骤二:运行以上程序,观察窗口输出结果,并分析原因。 3) 步骤三:在“Person”类内部增加一初始化函数“void InitData()”,利用“cin”对该类的成员变量“m_nWeight, m_nHeight, m_nAge”进行初始化。在main函数的Xiaoming.ShowData( )函数前调用 “InitData”函数,并观察输出结果。 4) 步骤四:在“Person”类中增加构造函数,利用构造函数实现“InitData”函数的功能。要求用不带参数的构造函数和带参数的构造函数实现。 不带参数的构造函数形式如下: 带参数的构造函数形式如下: 5) 步骤五:假设人的身高默认为170公分,体重默认为65公斤,年龄默认为20岁,试利用带默认参数的构造函数实现成员变量的初始化。分析在原有代码上加上带默认参数的构造函数后出错的原因,并修改程序,使程序能正常运行。 6) 步骤六:在“Person”类中增加“void DeleteData()”,将成员变量“m_nWeight, m_nHeight, m_nAge”的值都设为0。并在“ShowData”函数前面调用DeleteData函数。 7) 步骤七:利用类的析构函数实现DeleteData函数的功能。 8) 步骤八:定一个一个Person类的对象,通过键盘输入,对该对象的身高,体重,年龄进行赋值,并对这些数值进行显示。 五、 实验结果分析 步骤一: 步骤二:

原因:没有对成员变量赋初值 步骤三: 输出结果: 步骤四: 不带参数的构造函数: 输出结果: 带参数的构造函数: 运行结果:

步骤五: 带默认参数的构造函数: 运行结果: 步骤六: 运行结果: 步骤七:

步骤八: