📄 person.h
字号:
#ifndef PERSON_H
#define PERSON_H
#include <iostream>
#include <string>
using namespace std;
#include <Date.h>
#include <Ssn.h>
class Person {
public:
enum Sex {unknown, male, female};
enum MaritalStatus {single, married, divorced, widowed};
protected:
std::string name;
std::string address;
std::string phone;
SSN ssn;
Date dob;
Sex sex;
MaritalStatus mstatus;
public:
Person(const std::string& nm = "")
: name(nm), sex(unknown), mstatus(single)
{ }
virtual ~Person() { }
// --- setter functions
void SetName(const std::string& nm)
{ name = nm; }
void SetAddress(const std::string& addr)
{ address = addr; }
void SetPhone(const std::string& phon)
{ phone = phon; }
void SetSSN(SSN sn)
{ ssn = sn; }
void SetDob(const Date& dtb)
{ dob = dtb; }
void SetSex(Sex sx)
{ sex = sx; }
void SetMaritalStatus(MaritalStatus st)
{ mstatus = st; }
// --- getter functions
const std::string& GetName() const
{ return name; }
const std::string& GetAddress() const
{ return address; }
const std::string& GetPhone() const
{ return phone; }
SSN GetSSN() const
{ return ssn; }
const Date& GetDob() const
{ return dob; }
Sex GetSex() const
{ return sex; }
MaritalStatus GetMaritalStatus() const
{ return mstatus; }
virtual void FormattedDisplay(ostream& os) = 0;
};
ostream& operator<<(ostream& os, const Person& person);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -