-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPerson.hpp
More file actions
50 lines (41 loc) · 1.75 KB
/
Person.hpp
File metadata and controls
50 lines (41 loc) · 1.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#pragma once
#include <string>
class Person {
public:
Person() = default;
Person(std::string name, std::string surname, std::string address, std::string peselNumber, std::string gender);
virtual ~Person();
std::string getName() const { return name_; }
std::string getSurname() const { return surname_; }
std::string getAddress() const { return address_; }
std::string getPeselNumber() const { return peselNumber_; }
std::string getGender() { return gender_; }
virtual std::string getSalary() const { return salary_; }
virtual std::string getIndexNumber() const { return indexNumber_; }
size_t getSizeNameLimit() const { return sizeNameLimit_; }
size_t getSizeSurnameLimit() const { return sizeSurnameLimit_; }
size_t getSizeAddressLimit() const { return sizeAddressLimit_; }
size_t getSizePeselNumberLimit() const { return sizePeselNumberLimit_; }
size_t getSizeGenderLimit() const { return sizePeselNumberLimit_; }
void setSalary(std::string salary) { salary_ = salary; }
void printBorderTop();
size_t getBorderSize();
void printBorderLine();
virtual void printPerson() = 0;
std::string generateCell(std::string cellBody, size_t cellSize);
protected:
std::string name_ {"NO_NAME"};
std::string surname_ { "NO_SURNAME" };
std::string address_{ "NO_ADDRESS" };
std::string peselNumber_{ "00000000000" };
std::string gender_ { "" };
std::string salary_{ "EMPTY" };
std::string indexNumber_ { "EMPTY" };
size_t sizeNameLimit_ { 16 };
size_t sizeSurnameLimit_ { 30 };
size_t sizeAddressLimit_ { 40 };
size_t sizePeselNumberLimit_ { 14 };
size_t sizeGenderLimit_ { 8 };
size_t sizeSalaryLimit_ { 10 };
size_t sizeIndexNumberLimit_ { 12 };
};