PPL Assignment
IRM2015006
girl.h
Go to the documentation of this file.
1 #ifndef GIRL_H
2 #define GIRL_H
3 
4 #include "girl_type.h"
5 #include "../boys/boy.h"
6 #include "../gifts/gift.h"
7 
8 #include <iostream>
9 #include <vector>
10 
12 class Boy;
13 class Gift;
14 
18 class Girl
19 {
20 private:
21  /* static const GirlNature nature; /\*!< Nature of girl *\/ */
22 public:
23  bool committed;
24  std::string name;
25  int attr;
26  int intel;
27  int budget;
28  float happiness;
32  std::vector<Gift> *gifts;
33  /* Girl(); /\*!< Default constructor *\/ */
34 
35  /* /\** Parametrized constructor *\/ */
36  /* Girl(std::string name, int attr, int intel, int budget, BoyType boy_type); */
37 
39  void makeCouple(Boy *boy);
40 
42  void setGiftBasket(std::vector <Gift> *gifts);
43 
47  virtual float getHappiness() = 0;
48 
52  virtual GirlNature getNature() = 0;
53 
55  bool isCompatible(Boy *boy);
56 };
57 
58 
61 bool compareOnMaintenanceCost(Girl *g1, Girl *g2);
62 
63 #endif /* GIRL_H */
virtual float getHappiness()=0
BoyType
Definition: girl_type.h:12
bool compareOnMaintenanceCost(Girl *g1, Girl *g2)
Definition: girl.cpp:6
bool isCompatible(Boy *boy)
Definition: girl.cpp:32
void makeCouple(Boy *boy)
Definition: girl.cpp:37
std::string name
Definition: girl.h:24
float happiness
Definition: girl.h:28
Boy * boyfriend
Definition: girl.h:30
Definition: girl.h:18
Definition: boy.h:20
std::vector< Gift > * gifts
Definition: girl.h:32
BoyType boy_type
Definition: girl.h:29
virtual GirlNature getNature()=0
GirlNature
Definition: girl_type.h:5
Definition: gift.h:14
int attr
Definition: girl.h:25
int budget
Definition: girl.h:27
void setGiftBasket(std::vector< Gift > *gifts)
Definition: girl.cpp:42
bool committed
Definition: girl.h:23
int intel
Definition: girl.h:26