-
Notifications
You must be signed in to change notification settings - Fork 0
/
Person.h
54 lines (44 loc) · 1.09 KB
/
Person.h
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
51
52
53
54
#ifndef PERSON_H
#define PERSON_H
#include <string>
using std::string;
#include <list>
using std::list;
#include <map>
using std::map;
class Company;
class Language;
class Platform;
class Trait;
#include "NamedObject.h"
class Person : public NamedObject {
public:
Person(string firstName, string lastName, int money);
~Person();
string getFirstName();
string getLastName();
void hire(Company *company);
Company *getCompany();
int getCurrentSalary();
void setSalary(int amount);
void addMoney(int money);
bool acceptWages(int money);
void setPlatformSkill(Platform *platform, int skill);
void setLanguageSkill(Language *language, int skill);
list<Trait *> *getRealTraits();
list<Trait *> *getBelievedTraits();
map<Platform *, int> *getPlatformSkills();
map<Language *, int> *getLanguageSkills();
protected:
private:
string _firstName;
string _lastName;
int _money;
int _currentSalary;
Company *_company;
map<Platform *, int> *_platformSkills;
map<Language *, int> *_languageSkills;
list<Trait *> *_actualTraits;
list<Trait *> *_believedTraits;
};
#endif