64,637
社区成员
发帖
与我相关
我的任务
分享
#include "iostream"
using namespace std;
class Date
{
public:
Date();
void dinput(Date a)
{
int ye,mo,da;
cin>>ye>>mo>>da;
}
Date(int ye,int mo,int da);
~Date(){};
void doutput(Date a) //1--> 添加声明
{
cout<<a.year<<a.month<<a.day;//没有对应的变量声明
}
/************************************************************************
或者是想输出成员应该这样
void doutput()
{
cout<<year<<"-"<<month<<"-"<<day<<endl;//没有对应的变量声明
}
************************************************************************/
Date(Date &a);
private:
int year;
int month;
int day;
}; // 2 --> 没有 ;
Date::Date(int ye,int mo,int da)
{
year=ye;
month=mo;
day=da;
}
Date::Date(Date &a)
{
year=a.year;
month=a.month;
day=a.month;
}
Date::Date() //3 --> 类中既然声明了Data()就顺便写下实现吧
{}
class Personnel
{
public:
Personnel();
Personnel(Date da)
{
a=da;
}
Personnel(char se,long Id,int nu=2011001);
~Personnel(){};
Personnel(Personnel &q);
void input();
void output()
{
cout<<endl;
cout<<"number "<<"sex "<<"data "<<"ID "<<endl;
//cout<<numbers<<sex<<a.doutput()<<ID<<endl; //a.doutput() 没有返回值,如何输出?
}
private:
int numbers;
Date a;
char sex;
long ID;
};
Personnel::Personnel(char se,long Id,int nu /*=2011001*/) // 4 --> 实现的时候不用带默认值,声明的时候带上就可以了
{
numbers=nu;
sex=se;
ID=Id;
}
Personnel::Personnel(Personnel &q)
{
numbers=q.numbers;
sex=q.sex;
ID=q.ID;
}
Personnel::Personnel() // --> 同3
{}
inline void Personnel::input()
{
//cout<<"请输入编号:"<<endl;
//cin>>numbers;
cout<<"请输入性别:"<<endl;
cin>>sex;
cout<<"请输入出生日期:"<<endl;
a.dinput(a);
cout<<"请输入身份证号码:"<<endl;
cin>>ID;
}
int main()
{
Date da,db;
Personnel pa(da),pb;
pa.input();
pa.output();
pb=pa;
db=da;
pb.input();
pb.output();
return 0;
}