- 9
- 0
- 约1.41万字
- 约 32页
- 2023-09-25 发布于上海
- 举报
《C++程序设计》实训报告
实训一:类和对象的定义及使用
实训目的:
掌握类与对象的定义与使用方法,理解面向对象方法中通过对象间传递消 息的工作机制。
正确掌握类的不同属性成员的使用方法。
掌握构造函数与析构函数的概念,理解构造函数与析构函数的执行过程。
掌握友元函数和友元类的定义和使用。
基本掌握指针和引用作为函数参数的应用。
实训内容:
定义一个时间类 Time,有三个私有成员变量 Hour、Minute、Second,定义构造函数、析构函数以及用于改变、获取、输出时间信息的公有函数,主函数中定义时间对象,并通过调用各种成员函数完成时间的设定、改变、获取、输出等功能。
① 按要求完成类的定义与实现。
② 修改数据成员的访问方式,观察编译结果。
③ 在 Time 类中定义一个成员函数,用于实现时间增加一秒的功能,主函数中通过对象调用该函数,并输出增加一秒后的时间信息。
④ 定义一个普通函数。void f(Time t)
{
t. PrintTime( );
}
在 Time 类中增加拷贝构造函数的定义,主函数中调用该函数,运用调试工具跟踪,分析整个程序调用构造函数(包括拷贝构造函数)和析构函数的次数; 再将 f 函数的形式参数分别修改为引用参数和指针参数(此时函数代码修改为
{t- PrintTime( );}, 主函数中调用,再分析此时调用构造函数和析构函数的次数。
PAGE
PAGE 31
实训代码:
#includeiostream
using
class
namespace
Time
std;
{
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: Secondendl;
}
Minute:
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); c.ChangeTime(12,15,45); d.ChangeTime(12,15,45);
couta.GetHour():a.GetMinute(): a.GetSecond()endl;
coutb.GetHour():b.GetMinute(): b.GetSecond()endl;
coutc.GetHour():c.GetMinute():
c.GetSecond()endl;
coutd.GetHour():d.GetMinute(): d.GetSecond()endl;
return 0;
}
程序运行结果
实训小结:
构造函数与析构函数的调用方式及执行顺序是:先是构造函数然后是析构函 数。
调用方式是自动调用,执行顺序是先执行构造函数,待程序结束时再执行析 构函数。
实训二:个人银行账户管理程序的类设计
实训目的:
掌握面向对象中类、继承、多态性的开发思想;掌握流的概念; 独立设
您可能关注的文档
- “我有一个好习惯”主题班会教案.docx
- “西医内科学”试题.docx
- “希望杯”数学竞赛五年级试题及参考答案.docx
- “下基层访民情解民忧办实事”调研报告.docx
- “先唱歌后识谱”教学尝试.docx
- “小手拉大手清洁家园”活动计划实施组织.docx
- “小手拉大手文明伴我行”倡议书.docx
- “小学语文自主学习模式”阶段性研究报告.docx
- “孝敬父母心存感恩”教育活动方案.docx
- “校园才艺小达人评选”活动方案.docx
- 住院医师规范化培训《康复医学》习题(含参考答案)解析.docx
- 2025年5月住院医师规范化培训《耳鼻咽喉科》复习题(含参考答案).docx
- 2025年9月住院医师规范化培训《骨科》试题库(含答案).docx
- 2025年住院医师规范化培训《口腔修复科》模拟考试题+答案.docx
- 8月住院医师规范化培训《外科》测试题(附答案解析).docx
- 2025年6月住院医师规范化培训《预防医学科》练习题(附参考答案).docx
- 2025年7月住院医师规范化培训《放射科》习题(含参考答案).docx
- 2024年住院医师规范化培训《医学影像科》模拟试题(含答案).docx
- 住院医师规范化培训《神经外科》模考试题与参考答案.docx
- 3月住院医师规范化培训《康复医学》测试题+参考答案解析.docx
原创力文档

文档评论(0)