1. 程式人生 > >8.3 人事管理類的設計與實現-類組合

8.3 人事管理類的設計與實現-類組合

類組合練習
要求在Date類基礎上採用類組合的思想,設計一個人事管理類並測試之,該類包括編號、性別、出生日期(即出生日期是一個日期類的物件)、姓名等。涉及帶參建構函式,能提供顯示人員的資訊的函式。

前置程式碼::

#include <iostream>
#include <string>
using namespace std;
class Date//日期類定義
{
private:
	int year,month,day;
public:
	Date(int y=0,int m=0,int d=0)//帶預設引數的建構函式,無參和有參合二為一
	{
		year=y;
		month=m;
		day=d;
	}
	void Show()
	{
		cout<<year<<"-"<<month<<"-"<<day<<endl;
	}
};

後置程式碼::

int main()
{
   Person x(1,0,1980,12,31,"wangming");//定義一個僱員物件,帶引數
   x.Show();//輸出僱員資訊,注意該Show函式中呼叫日期物件的Show函式
   return 0;
}

期待度輸出::

1,female↵
1980-12-31↵
wangming↵

Person類的設計::

class Person
{
	private:
		Date x;
		int num;
		int sex;
		string name;
	public:
		Person(int a,int b,int y,int m,int d,const string &c) :x(y,m,d)
		{
			num=a;
			sex=b;
			name=c;
		}
		void Show()
		{
			cout<<num<<",";
			if(sex==0) cout<<"female"<<endl;else cout<<"male"<<endl;
			x.Show();
			cout<<name<<endl;
		}
};