定义一个人员类,输出其信息并且调用构造函数以及拷贝函数
#include<iostream>
#include<cstring> //这里运用了string函数的头文件
using namespace std;
class people //这里定义了一个people类
{
private:
string id; string name; string sex; //这里包含了四个属性
struct birth
{
int year; int month; int day;
}b1; //这里定义了一个birth的结构体类型,里面包含了三个元素
string homeadd;
public: //定义了两个公共成员函数
people(string i,string n,string s,string h) //这里定义了有参构造函数
{
id = i;
name = n;
sex = s;
cout << "请输入年月日" << endl;
cin >> b1.year >> b1.month >> b1.day;
homeadd = h;
}
void output(); //成员函数output输出人员信息
- };
int main()
{
people p("123","张安","男","江西南昌"); //调用了有参构造函数
p.output();
people p1(p); //对象作为函数参数传递来复制(拷贝)构造函数
cout << "这是拷贝后的" << endl;
p1.output();
}
void people::output() //在调用类的公共函数时需要在子函数类型名后面加上people::
{
cout << "id:" << id <<'\t'<< "name:" << name<<'\t' << "sex:" << sex << endl;
cout << "birth:" << b1.year << '.' << b1.month << '.' << b1.day << endl;
cout<< "homeadd" << homeadd << endl;
}