//下面是一个获取当前日期的一个程序,有几种显示方式。
#include<iostream>
#include<ctime>
using namespace std;
//-------------------------------------------------------------
class Date
{
public:
virtual void print();
};
void Date::print()
{
time_t t = time( 0 );
char tmp[64];
strftime( tmp, sizeof(tmp), "%m-%d-%Y",localtime(&t) );
puts( tmp );
}
//-------------------------------------------------------------
class ShortE:public Date
{
public:
void print();
};
void ShortE::print()
{
time_t t = time( 0 );
char tmp[64];
strftime( tmp, sizeof(tmp), "%d-%m-%Y",localtime(&t) );
puts( tmp );
}
//-------------------------------------------------------------
class MediumDate:public Date
{
public:
void print();
};
void MediumDate::print()
{
time_t t = time( 0 );
char tmp[64];
strftime( tmp, sizeof(tmp), "%b. %d, %Y",localtime(&t) );
puts( tmp );
}
//-------------------------------------------------------------
class LongDate:public Date
{
public:
void print();
};
void LongDate::print()
{
time_t t = time( 0 );
char tmp[64];
strftime( tmp, sizeof(tmp), "%B %d, %Y",localtime(&t) );
puts( tmp );
}
//-------------------------------------------------------------
void main()
{
Date* p;
int which;
do
{
cout<<"\t\t\t"<<"*********************"<<endl;
cout<<"\t\t\t"<<"1. Date's print"<<endl;
cout<<"\t\t\t"<<"2. ShortE's print"<<endl;
cout<<"\t\t\t"<<"3. MediumDate's print"<<endl;
cout<<"\t\t\t"<<"4. LongDate's print"<<endl;
cout<<"\t\t\t"<<"*********************"<<endl;
cout<<"Input your choice:";
cin>>which;
}while(which<1||which>4);
switch(which)
{
case 1: p = new Date;break;
case 2: p = new ShortE;break;
case 3: p = new MediumDate;break;
case 4: p = new LongDate;break;
}
p->print();
delete p;
}