- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
附录:源程序清单
#include iostream
#include string
#include fstream
#include sstream
#include cstdlib
#include limits
using namespace std;
class Date{
private:
int year;
int month;
int day;
public:
Date(int yy=0,int mm=0,int dd=0):year(yy),month(mm),day(dd){} int getyear()const{return year;}
int getmonth()const{return month;}
int getday()const{return day;}
friend ostream operator (ostream output,Date c)//输出日期
{
outputc.year-c.month-c.day;
return output;
}
friend istream operator (istream input,Date c);//读入日期
friend bool operator==(Date a,Date b)
{
return((a.year==b.year)(a.month==b.month)(a.day==b.day));
}
friend bool operator (Date a,Date b);
bool valid();
};
istream operator (istream input,Date c)
{
int yy,mm,dd;
char a,b;
inputyyammbdd;
c=Date(yy,mm,dd);
return input;
}
bool operator (Date a,Date b) //比较两日期大小关系
{
if(a.yearb.year) return false;
else
{
if(a.yearb.year) return true;
else
{
if(a.monthb.month) return false;
else
{
if(a.monthb.month) return true;
else
{
if(a.dayb.day) return false;
else return true;
}
}
}
}
}
bool Date::valid()//检查日期是否有效
{
bool st=false;
if(year0)
{
if(month0month=12)
{
if(day0day31)
st=true;
}
}
return st;
}
static Date const ini(0,0,0); //初始化日期
class BookInfo{
public:
string name;
Date borw;
Date retrn;
BookInfo(Date bw=ini,Date rt=ini,string nm=\0)
{
borw=bw;retrn=rt;name=nm;
}
};
class Account{
protected:
string id;//
public:
Account(string nm=\0):id(nm){}
string getid(){return id;}
virtual void borrow(string name=\0,Date borw=ini,Date retrn=ini)=0;
virtual void show()=0;
};
class LibAccount:public Account{
public:
BookInfo nm[10];//记录借阅书籍信息,最多10本
int num;//记录借阅数目
public:
LibAccount(string nm=\0):Account(nm)
{
num=0;
}
virtual void borrow(string name,Date borw,Date retrn);
void retrun(string name);
virtual void show(Date now);
};
void LibAccount::borrow(string name,Date borw,Date retrn)
{
if(num==10) cout已借阅书数目为10,
文档评论(0)