定义一个处理日志的类的Dote,它有3个私有数据成员:Month,Day,Year和若干个共有成员函数,并实现如下要求:
1.构造函数重载。
2.成员函数设置缺省参数。
3.定义一个友元函数来打印日期。
4.定义一个非静态成员函数设置日期。
5.可使用不同的构造函数来创建不通的对象。
希望大家把每道小题的解法说相信点!
定义一个处理日志的类的Dote,它有3个私有数据成员:Month,Day,Year和若干个共有成员函数,并实现如下要求:
1.构造函数重载。
2.成员函数设置缺省参数。
3.定义一个友元函数来打印日期。
4.定义一个非静态成员函数设置日期。
5.可使用不同的构造函数来创建不通的对象。
希望大家把每道小题的解法说相信点!
#include<iostream>
using namespace std;
class Date{
//定义三个私有变量
private:
int Month;
int Day;
int Year;
public:
//默认构造函数
Date():Year(2009),Month(12),Day(12){}
//重载构造函数
Date(int Year,int Month,int Day){
this->Year=Year;
this->Month=Month;
this->Day=Day;
}
//日期设置函数,包括缺省参数
void SetDate(int Year=-1,int Month=-1,int Day=-1)
{
if(Year!=-1)
this->Year=Year;
if(Month!=-1)
this->Month=Month;
if(Day!=-1)
this->Day=Day;
}
//友元
friend void show(Date d);
};
void show(Date d)
{
cout<<d.Year<<"/"<<d.Month<<"/"<<d.Day<<endl;;
}
int main()
{
Date d1;
show(d1);
Date d2(1,2,3);
show(d2);
Date *d3=new Date(4,5,6);
show(*d3);
delete d3;
return 0;
}