c++实验报告.doc 下载本文

实 验 报 告

( 2014 / 2015 学年 第 二 学期)?

???

课程名称 实验名称

面向对象程序设计及C++ 实验一: 类和对象的定义及使用

实验时间 2015 指导单位 物联网学院 指导教师 肖学中

年 3 月 25 日

学生姓名 张殷虔 学院(系) 物联网学院

班级学号 B14070519 专 业 物联网工程

实 验 报 告

实验名称 实验类型 类和对象的定义及使用 验证 实验学时 2 指导教师 肖学中 实验时间 3月20日 一、 实验目的和要求 (1)掌握类与对象的定义与使用方法,理解面向对象方法中通过对象间传递消息的工作机制。 (2)正确掌握类的不同属性成员的使用方法。 (3)掌握构造函数与析构函数的概念,理解构造函数与析构函数的执行过程。 (4)掌握友元函数和友元类的定义和使用。 (5)基本掌握指针和引用作为函数参数的应用。 二、实验环境(实验设备) 硬件: 微型计算机 软件: Microsoft Visual C++6.0 三、实验原理及内容 实验题目(1)定义一个时间类Time,有三个私有成员变量Hour、Minute、Second,定义构造函数、析构函数以及用于改变、获取、输出时间信息的公有函数,主函数中定义时间对象,并通过调用各种成员函数完成时间的设定、改变、获取、输出等功能。 ① 按要求完成类的定义与实现。 ② 修改数据成员的访问方式,观察编译结果。 ③ 在Time类中定义一个成员函数,用于实现时间增加一秒的功能,主函数中通过对象调用该函数,并输出增加一秒后的时间信息。 ④ 定义一个普通函数。 void f(Time t) { t. PrintTime( ); } 在Time类中增加拷贝构造函数的定义,主函数中调用该函数,运用调试工具跟踪,分析整个程序调用构造函数(包括拷贝构造函数)和析构函数的次数;再将f函数的形式参数分别修改为引用参数和指针参数(此时函数代码修改为{t-> PrintTime( );},主函数中调用,再分析此时调用构造函数和析构函数的次数。 1

实 验 报 告

参考实验教材中相应的实验提示部分按要求完成程序,并回答相关问题。 要求①完成后的源程序代码如下: #include using namespace std; class Time { private: int Hour,Minute,Second; public: Time(int h=0,int m=0,int s=0); Time(const Time &ob); ~Time(); void ChangeTime(int h,int m,int s); int GetHour(); int GetMinute(); int GetSecond(); void PrintTime(); void IncreaseOneSecond(); }; Time::Time(int h,int m,int s) { Hour=h; Minute=m; Second=s; } Time::Time(const Time &ob) { Hour=ob.Hour; Minute=ob.Minute; Second=ob.Second; } Time::~Time() { } void Time::ChangeTime(int h,int m,int s) 2