c++实验报告.doc
文本预览下载声明
实 验 报 告
( 2014 / 2015 学年 第 二 学期)
课程名称 面向对象程序设计及C++ 实验名称 实验一: 类和对象的定义及使用 实验时间 2015 年 3 月 25 日 指导单位 物联网学院 指导教师 肖学中
学生姓名 张殷虔 班级学号 学院(系) 物联网学院 专 业 物联网工程
实 验 报 告
实验名称 类和对象的定义及使用 指导教师 肖学中 实验类型 验证 实验学时 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( );},主函数中调用,再分析此时调用构造函数和析构函数的次数。 实 验 报 告
参考实验教材中相应的实验提示部分按要求完成程序,并回答相关问题。
要求①完成后的源程序代码如下:
#includeiostream
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)
{
Hour=h;
Minute=m;
Second=s;
}
int Time::GetHour()
{
return Hour;
}
int Time::GetMinute()
{
return Minute;
}
int Time::GetSecond()
{
return Second;
}
void Time::PrintTime()
{
coutHour: Minute: Secondendl;
}
void Time::IncreaseOneSecond()
{
Second++;
}
/*void Time::f(Time t)
{
t.PrintTime();
coutcall f\n;
}*/
int main()
{
Time a;
Time b(13);
Time c(13,15);
Time d(13,15,45);
a.PrintTime();
b.PrintTime();
c.PrintTime();
d.PrintTime();
a.ChangeTime(12,15,45);
b.ChangeTime(12,15,45)
显示全部