c++程序设计实验报告

上传人:人*** 文档编号:473104324 上传时间:2023-08-03 格式:DOC 页数:41 大小:326.42KB
返回 下载 相关 举报
c++程序设计实验报告_第1页
第1页 / 共41页
c++程序设计实验报告_第2页
第2页 / 共41页
c++程序设计实验报告_第3页
第3页 / 共41页
c++程序设计实验报告_第4页
第4页 / 共41页
c++程序设计实验报告_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《c++程序设计实验报告》由会员分享,可在线阅读,更多相关《c++程序设计实验报告(41页珍藏版)》请在金锄头文库上搜索。

1、实验报告七 类与对象1. 实验目的(1) 掌握类的定义和实现。(2) 掌握对象创建及使用的基本方法。2. 实验设备 硬件环境:微型计算机软件环境: 操作系统: Windows 语言环境: Visual C+ 3. 实验内容(1)下面程序定义了一个以hours, minutes和seconds作为数据成员的Time类。设计了成员函数将两个Time对象相加(即时间相加),并进行相应的检查,查看增加的分钟数及秒数是否大于59。如果秒数大于59,则分钟数向前递增1。类似地,如果分钟数大于59,则小时数向前增1。#include class Timeprivate: int hours, minutes

2、, seconds;public: void get_time() cinhoursminutesseconds; void display_time() couthours:minutes:seconds=60) seconds-=60; minutes+; if(minutes=60) minutes-=60; hours+; ;void main() Time one, two, three; coutnEnter the first time(hours minutes seconds):; one.get_time(); coutnEnter the second time(hour

3、s minutes seconds):; two.get_time(); three.add_time(one,two); coutthe result is:yearmonthday; Date mydate(year,month,day); int &myyear=mydate.GetYear();int &mymonth=mydate.GetMonth();int &myday=mydate.GetDay(); coutmyyearendlmymonthendlmydayendl;myyear=8888;cout mydate.GetYear();基本要求仔细阅读上面程序,如果有错误,请

4、更正。上机录入、调试上面程序。分析和思考main函数中int &myyear=mydate.GetYear(); 、int &mymonth=mydate.GetMonth(); 和int &myday=mydate.GetDay();语句表达的是什么思想?这样做的目的是什么?这种方法是否“好”呢?为什么?如果“不好”应该怎样修改?4. 源代码1.#include class Timeprivate: int hours, minutes, seconds;public: Time () Time (int x,int y,int z)hours=x;minutes=y;seconds=z;

5、/* void get_time() cinhoursminutesseconds; */ void display_time() couthours:minutes:seconds=60) seconds-=60; minutes+; while(minutes=60) minutes-=60; hours+; ;void main() Time one( 2 , 67 , 100), two( 1 , 56 , 200), three; three.add_time(one,two); coutthe result is:endl; three.display_time();2.#incl

6、udeclass Date public: Date(); Date(int year,int month,int day); Date(); int &GetYear()return year; int &GetMonth()return month; int &GetDay()return day; private: int year; int month; int day; static bool IsLeapyear;/是否闰年 ;bool Date:IsLeapyear=true; Date:Date(int year,int month,int day) (*this).year=

7、year; (*this).month=month; (*this).day=day;void main() int year,month,day; cinyearmonthday; Date mydate(year,month,day); int &myyear=mydate.GetYear();int &mymonth=mydate.GetMonth();int &myday=mydate.GetDay(); coutmyyearendlmymonthendlmydayendl;myyear=8888;cout=60) seconds-=60; minutes+; if(minutes=6

8、0) minutes-=60; hours+; 用if时当seconds和minutes=60时,程序只减一次60,如果seconds和minutes是60的两倍或以上的话,明显减的不够。所以改用while的话就可以很好的解决这个问题了。2、int &myday=mydate.GetDay();是对mydate.GetDay()的引用,相当于给它起了个别名叫做myday,所以当myyear=8888;时,cout mydate.GetYear();输出的也是8888.7.思考题解答main函数中int &myyear=mydate.GetYear(); 、int &mymonth=mydate

9、.GetMonth(); 和int &myday=mydate.GetDay();语句表达的是什么思想?这样做的目的是什么?这种方法是否“好”呢?为什么?如果“不好”应该怎样修改?答:int &myyear=mydate.GetYear(); 、int &mymonth=mydate.GetMonth(); 和int &myday=mydate.GetDay();是引用,相当于给右边的变量起了个别名。这样做,“myyear=8888;cout mydate.GetYear();”输出的就是8888了。这样不好,破坏了类的封装性,导致类的私有成员数据在类外可以被随意修改。 实验报告八 继承与派生类1. 实验目的(1) 掌握单继承程序设计的基本方

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号