#include<bits/stdc++.h>
using namespace std;
class Date{
private :
int years;
int months;
int days;
public :
Date(int year,int month,int day);//构造函数的声明
Date(const Date& date2); //拷贝构造函数的声明
void display(void);//display函数输出数据
//通过公有成员函数对私有数据成员赋值;
void fuzhi(int year,int month,int day);
//通过函数返回值类型为引用的成员函数对私有数据成员赋值;
int &get_years_private(void);
//利用函数返回值访问私有数据成员;
int get_ptivate(void);
//利用形式参数为指针访问私有数据成员;
void get_ptivate_toll(int *p);
//利用形式参数为引用访问私有数据成员
void get_ptivate_help(int &p);//形式参数为引用的声明
~Date(){};//析构函数
};
class Time{
private:
int hours;
int minutes;
int seconds;
public:
Time(int hour,int minute,int second);//构造函数的声明
Time(const Time&time2);//拷贝构造函数的声明
void display(void);//display函数输出数据
//通过公有成员函数对私有数据成员赋值;
void fuzhi(int hour,int minute,int second);
//通过函数返回值类型为引用的成员函数对私有数据成员赋值;
int &get_hours_private(void);
//利用函数返回值访问私有数据成员;
int get_time(void);
~Time(){};//析构函数
};
//Date部分
void Date::display(void)
{
cout<<"你所查找的时间是"<<years<<"年"<<months<<"月"<<days<<"日"<<endl;
}
//构造函数的定义
Date::Date(int year,int month,int day)
{
years=year,months=month,days=day;
}
//拷贝构造函数
Date::Date(const Date &date2)
{
years=date2.years;
months=date2.months;
days=date2.days;
}
//调用Date里的成员函数访问私有成员变量
void Date::fuzhi(int year,int month,int day)
{
years=year;
months=month;
days=day;
}
//通过函数返回值类型为引用的成员函数对私有数据成员赋值
int & Date::get_years_private(void)
{
return years;
//return months;
//return days;
}
int Date::get_ptivate(void)
{
return years;
//return months;
//return days;
}
void Date::get_ptivate_toll(int *p)
{
*p=years;//months,days;
return ;
}
void Date ::get_ptivate_help(int & p)
{
p=years;
return ;
}
//Time部分
void Time::display(void)
{
cout<<"具体时间为"<<hours<<"时"<<minutes<<"分钟"<<seconds<<"秒"<<endl;
}
Time::Time(int hour,int minute,int second)
{
hours=hour;
minutes=minute;
seconds=second;
}
void Time::fuzhi(int hour,int minute,int second)
{
hours=hour;
minutes=minute;
seconds=second;
}
Time::Time(const Time &time2)
{
hours=time2.hours,minutes=time2.minutes,seconds=time2.seconds;
}
int & Time::get_hours_private(void)
{
return hours;
//return minutes;
//return seconds;
}
int Time:: get_time(void)
{
return hours;
//return minutes;
//return seconds;
}
//由于与Date重复了很多,此处省略一些模块,前面已经展示了要求达到的功能
int main()
{
int y,mon,d,h,m,s;
cout<<"请输入年份,月份,和天:"<<endl;
cin>>y>>mon>>d;
cout<<"请输入时刻,即小时,分钟,秒"<<endl;
cin>>h>>m>>s;
//通过构造函数赋值
Date date1(y,mon,d);
Time time1(h,m,s);
//调用拷贝构造函数
Date date2(date1);
Time time2(time1);
// 通过公有成员函数对私有数据成员赋值
date1.fuzhi(y,mon,d);
time1.fuzhi(h,m,s);
//显示模块
date1.display();
time1.display();
//date2.display();
//time2.display();
//int yearss=date1.get_years_private();
//int yearsss=date1.get_ptivate();
//int hou=time1.get_time();
//int x;
//date1.get_ptivate_toll(&x);
//date1.get_ptivate_help(x);
//cout<<yearss<<endl;
//cout<<yearsss<<endl;
//cout<<hou<<endl;
}