- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验二及参考答案类与对象的构造
实验二 类与对象的构造
一、实验目的
1、熟悉类定义的一般形式。
2、掌握类中方法的实现形式:在类的内部实现,也可放在类的外部。
3、熟悉类的构造函数的定义。
4、熟悉C++类文件的一般组织结构。
二、实验任务
1、编辑并运行下列程序,熟悉类的定义、类中方法的实现形式和类的应用。
//lab2-1.cpp
#include
using namespace std;
class date //类date的定义 private:
int year, month,day;//分别表示年月日
public:
void setDate int y,int m,int d ;//y,m,d分别代表年月日
void showDate //输出日期,实现放在类中 cout year 年 month 月 day 日 endl; ;//类定义结束
//类的方法实现放在类的外部
void date::setDate int y, int m, int d year y; month m; day d; //主函数
int main date d1; d1.setDate 2013,10,1 ; d1.showDate ; return 0;
date类,保存为date.h,在date.cpp中实现该类的一些方法,并在main.cpp文件中调用该类。
依次创建这三个文件,文件内容如下,其中date.cpp部分内容需要补全。文件date.h在“解决方案资源管理器”的“头文件”文件夹中创建,其它两个文件在“源文件”文件夹中创建。
//date.h
class date private:
int year, month,day;
public: date char *str ; //输入字符串2013-10-01 date int y,int m,int d ;//y,m,d分别代表年月日
date ; //手动输入年月日
bool isLeap ; //判断是否为闰年
int days ; //判断当前日期为该年的第几天,如2013-03-11为第70天
void showDate ;//输出日期
;
//date.cpp
#include date.h
#include
using namespace std;
void date::showDate //输出日期 cout year 年 month 月 day 日 endl; date::date //手动输入年月日 cin year;
cin month;
cin day; bool date::isLeap //…… //……需要实现的其它方法
//……
//main.cpp
#include date.h
#include
using namespace std;
int main date date1 2013,10,1 ;
date1.showDate ;
if date1.isLeap cout 是闰年 endl;
else cout 非闰年 endl;
cout 第 date1.days 天 endl;
date date2 2013-10-01 ;
date2.showDate ;
date date3;
date3.showDate ;
return 0; 参考答案:
需要实现的3个函数如下:
bool date::isLeap if year%400 0|| year%4 0 year%100! 0 return true;
else return false; date::date int y, int m, int d year y;
month m;
day d; int date::days int d[] 31,28,31,30,31,30,31,31,30,31,30,31 ;
if isLeap d[1] 29;
int d1 day;//d1为第X天
for int i 0;i month-1;i++ d1 d1+d[i];
return d1; date::date char *str //2014-10-11,year:0~3,month:5~6,day:8~9 year 0;
month 0;
day 0;
for int i 0;i 12;i++ if 0 i i 3 year year*10+str[i]-0; if 5 i i 6 month month*10+str[i]-0; if 8 i i 9 day
原创力文档


文档评论(0)