PPL Assignment
IRM2015006
generousboy.cpp
Go to the documentation of this file.
1 #include "generousboy.h"
2 
3 GenerousBoy::GenerousBoy(std::string name, int attr, int intel, int budget, int min_attr_req)
4 {
5  this->name = name;
6  this->intel = intel;
7  this->attr = attr;
8  this->budget = budget;
9  this->min_attr_req = min_attr_req;
10  this->committed = false;
11  this->happiness = 0;
12  this->girlfriend = NULL;
13  this->gifts = NULL;
14 }
16 {
17  float happiness = 0;
18  if (!committed || !girlfriend || !gifts)
19  return -1;
20 
21  happiness = this->girlfriend->getHappiness();
22  this->happiness = happiness;
23  return happiness;
24 }
25 
27 {
28  return nature;
29 }
bool committed
Definition: boy.h:32
virtual float getHappiness()=0
int attr
Definition: boy.h:25
std::vector< Gift > * gifts
Definition: boy.h:33
float happiness
Definition: boy.h:29
BoyNature getNature() override
Definition: generousboy.cpp:26
int min_attr_req
Definition: boy.h:28
int budget
Definition: boy.h:27
int intel
Definition: boy.h:26
std::string name
Definition: boy.h:24
float getHappiness() override
Definition: generousboy.cpp:15
static const BoyNature nature
Definition: generousboy.h:12
Girl * girlfriend
Definition: boy.h:30
BoyNature
Definition: boy_type.h:5
GenerousBoy(std::string name, int attr, int intel, int budget, int min_attr_req)
Definition: generousboy.cpp:3