📄 person.cpp
字号:
//2. 设计并测试一个"人员"类。属性包括:编号、性别、出生日期、身份证号等等。
//其中"出生日期"定义为一个"日期"类内嵌子对象。用成员函数实现对人员信息的录入和显示。
//要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数。
#include <iostream>
#include <string>
using namespace std;
class date //日期类
{
public:
date(){} //默认构造
date(int y,int m,int d) ; //带参构造函数
~date(){} ; //析构函数
date(date &datep); //拷贝构造函数
int get_y(){return year;}
int get_m(){return month;}
int get_d(){return day;}
void in() //数据输入函数
{
//cout<<"输入出生日期:";
cin>>year>>month>>day;
}
void out() //显示输出函数
{
cout<<get_y()<<"/"<<get_m()<<"/" <<get_d();
}
private:
int year,month,day;
};
class person //人员类
{
public:
person(){} //默认构造
person(int y,int m,int d,char *na,int nu,char *se,char *I,date birth);//带参构造函数
~person(){} //析构函数
person(person &p); //拷贝构造函数
char get_nu(){return num;}
char *get_se(){return sex;}
char *get_I(){return ID;}
char *get_na(){return name;}
void input(); //信息输入,内联函数
void show(); //信息输出,内联函数
private:
char name[20];
int num;
char sex[10];
date birthday; //内嵌子对象
char ID[19];
};
date::date(int y,int m, int d) //date类构造函数的实现
{
year=y;
month=m;
day=d;
}
date::date(date &datep) //date类拷贝构造函数的实现
{
year=datep.year;
month=datep.month;
day=datep.day;
}
person::person(int y,int m,int d,char *na,int nu,char *se,char *I,date birthday):birthday(y,m,d)
//person构造函数的实现
{
num=nu;
strcpy(sex,se);
strcpy(ID,I);
strcpy(name,na) ;
}
person::person(person &p):birthday(p.birthday) //拷贝构造函数的实现
{
num=p.num;
strcpy(sex,p.sex);
strcpy(ID,p.ID);
strcpy(name,p.name);
birthday=p.birthday;
}
inline void person::input() //信息输入函数的实现
{
cout<<"请输入个人信息"<<endl;
cout<<"姓名:";
cin>>name;
cout<<"编号:";
cin>>num;
cout<<"性别: ";
cin>>sex;
cout<<"出生日期:";
birthday.in();
cout<<"身份证号: ";
cin>>ID;
//ID[18]='\0';
cout<<endl;
}
inline void person::show() //信息输出函数的实现
{
cout<<"姓名:"<<name<<endl;
cout<<"编号:"<<num<<endl;
cout<<"性别:"<<sex<<endl;
cout<<"出生日期:";
birthday.out();
cout<<endl;
cout<<"身份证号:"<<ID<<endl;
}
int main()
{
person p; //定义对象p
p.input();
p.show();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -