欢迎来到天天文库
浏览记录
ID:33598633
大小:326.39 KB
页数:41页
时间:2019-02-27
《c++程序设计实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验报告七类与对象1.实验目的(1)掌握类的定义和实现。(2)掌握对象创建及使用的基本方法。2.实验设备硬件环境:微型计算机软件环境:操作系统:Windows语言环境:VisualC++3.实验内容(1)下面程序定义了一个以hours,minutes和seconds作为数据成员的Time类。设计了成员函数将两个Time对象相加(即时间相加),并进行相应的检查,查看增加的分钟数及秒数是否大于59。如果秒数大于59,则分钟数向前递增1。类似地,如果分钟数大于59,则小时数向前增1。#includeclassTime{private:i
2、nthours,minutes,seconds;public:voidget_time(){cin>>hours>>minutes>>seconds;}voiddisplay_time(){cout<=60){seconds-
3、=60;minutes++;}if(minutes>=60){minutes-=60;hours++;}}};voidmain(){Timeone,two,three;cout<<"Enterthefirsttime(hoursminutesseconds):";one.get_time();cout<<"Enterthesecondtime(hoursminutesseconds):";two.get_time();three.add_time(one,two);cout<<"theresultis:"<4、time();}[基本要求]l上机录入、调试上面程序。l运行程序,输入下面两组数据:①2344514756②267100156200分析运行结果是否正确。[分析与思考]l定义构造函数对Time类的对象进行初始化(即不用成员函数get_time)。l该程序要求用户输入的分钟数和秒数必须小于60,如何修改程序使得用户在输入分钟数和秒数大于等于60时,也能得到正确的结果。(2)阅读下面的一段程序代码,代码可能有错误,请仔细分析并体会。classDate{public:voidDate(){};intDate(intyear,intmonth,intday);v5、oid~Date(){};int&GetYear(){returnyear;}int&GetMonth(){returnmonth;}int&GetDay(){returnday;}private:intyear=2000;intmonth=12;intday=31;staticboolIsLeapyear;//是否闰年};boolDate::IsLeapyear=true;intDate::Date(intyear,intmonth,intday){(*this).year=year;(*this).month=month;(*this).day=da6、y;}voidmain(){intyear,month,day;cin>>year>>month>>day;Datemydate(year,month,day);int&myyear=mydate.GetYear();int&mymonth=mydate.GetMonth();int&myday=mydate.GetDay();cout<7、调试上面程序。[分析和思考]main函数中int&myyear=mydate.GetYear();、int&mymonth=mydate.GetMonth();和int&myday=mydate.GetDay();语句表达的是什么思想?这样做的目的是什么?这种方法是否“好”呢?为什么?如果“不好”应该怎样修改?4.源代码1.#includeclassTime{private:inthours,minutes,seconds;public:Time(){}Time(intx,inty,intz){hours=x;minutes=y;8、seconds=z;}/*voidget_time(){cin>>hours>>
4、time();}[基本要求]l上机录入、调试上面程序。l运行程序,输入下面两组数据:①2344514756②267100156200分析运行结果是否正确。[分析与思考]l定义构造函数对Time类的对象进行初始化(即不用成员函数get_time)。l该程序要求用户输入的分钟数和秒数必须小于60,如何修改程序使得用户在输入分钟数和秒数大于等于60时,也能得到正确的结果。(2)阅读下面的一段程序代码,代码可能有错误,请仔细分析并体会。classDate{public:voidDate(){};intDate(intyear,intmonth,intday);v
5、oid~Date(){};int&GetYear(){returnyear;}int&GetMonth(){returnmonth;}int&GetDay(){returnday;}private:intyear=2000;intmonth=12;intday=31;staticboolIsLeapyear;//是否闰年};boolDate::IsLeapyear=true;intDate::Date(intyear,intmonth,intday){(*this).year=year;(*this).month=month;(*this).day=da
6、y;}voidmain(){intyear,month,day;cin>>year>>month>>day;Datemydate(year,month,day);int&myyear=mydate.GetYear();int&mymonth=mydate.GetMonth();int&myday=mydate.GetDay();cout<7、调试上面程序。[分析和思考]main函数中int&myyear=mydate.GetYear();、int&mymonth=mydate.GetMonth();和int&myday=mydate.GetDay();语句表达的是什么思想?这样做的目的是什么?这种方法是否“好”呢?为什么?如果“不好”应该怎样修改?4.源代码1.#includeclassTime{private:inthours,minutes,seconds;public:Time(){}Time(intx,inty,intz){hours=x;minutes=y;8、seconds=z;}/*voidget_time(){cin>>hours>>
7、调试上面程序。[分析和思考]main函数中int&myyear=mydate.GetYear();、int&mymonth=mydate.GetMonth();和int&myday=mydate.GetDay();语句表达的是什么思想?这样做的目的是什么?这种方法是否“好”呢?为什么?如果“不好”应该怎样修改?4.源代码1.#includeclassTime{private:inthours,minutes,seconds;public:Time(){}Time(intx,inty,intz){hours=x;minutes=y;
8、seconds=z;}/*voidget_time(){cin>>hours>>
此文档下载收益归作者所有