⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 person.h

📁 c++编程宝典源码及Quincy99编译器 是《标准C++编程宝典》电子工业出版社的光盘
💻 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 + -