1.使用struct结构:
//---------main.cpp------------
#include <iostream>
#include <Ctime>
using namespace std;
struct Date
{
unsigned int year;
unsigned int month;
unsigned int day;
};
bool isLeapYear(Date d);
inline void print();
void print(Date d)
{
std::cout<<d.year<<"-"<<d.month<<"-"<<d.day<<" is leap year!"<<endl;
}
int main(int argc,char **argv)
{
Date d;
clock_t t = clock();//开始计时
d.day = 24;
d.month = 9;
d.year = 2012;
if(isLeapYear(d)) print(d);
std::cout<<"using time:"<<(clock()-t)/CLK_TCK<<"seconds"<<endl; //计算中间时间差
return 0;
}
bool isLeapYear(Date d)
{
return(((d.year%4 == 0 )&&(d.year%100 != 0))||(d.year % 400 == 0));
}
2.使用类来实现:
//---------main.cpp------------
#include <iostream>
using namespace std;
class Date
{
int year,month,day;
public:
void set(int y,int m,int d); //赋值操作
bool isLeapYear();
void print();
};
int main(int argc,char **argv)
{
Date d;
d.set(2012,12,6);
if(d.isLeapYear()) d.print();
return 0;
}
void Date::set(int y,int m,int d)
{
year = y;
month = m;
day = d;
}
bool Date::isLeapYear()
{
return (((year%4 == 0)&&(year%100 != 0))||(year%400 == 0));
}
void Date::print()
{
std::cout<<year<<"/"<<month<<"/"<<day<<" is leap year!"<<endl;
}