SUMO - Simulation of Urban MObility
AGPerson.cpp
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2010-2017 German Aerospace Center (DLR) and others.
4 // activitygen module
5 // Copyright 2010 TUM (Technische Universitaet Muenchen, http://www.tum.de/)
6 /****************************************************************************/
7 //
8 // This program and the accompanying materials
9 // are made available under the terms of the Eclipse Public License v2.0
10 // which accompanies this distribution, and is available at
11 // http://www.eclipse.org/legal/epl-v20.html
12 //
13 /****************************************************************************/
22 // Parent object of every person, contains age and any natural characteristic
23 /****************************************************************************/
24 
25 
26 // ===========================================================================
27 // included modules
28 // ===========================================================================
29 #ifdef _MSC_VER
30 #include <windows_config.h>
31 #else
32 #include <config.h>
33 #endif
34 
35 #include "AGPerson.h"
37 #include <iostream>
38 
39 
40 // ===========================================================================
41 // method definitions
42 // ===========================================================================
43 AGPerson::AGPerson(int age) : age(age) {}
44 
45 
47 
48 
49 void
50 AGPerson::print() const {
51  std::cout << "- Person: Age=" << age << std::endl;
52 }
53 
54 
55 int
57  return age;
58 }
59 
60 
61 bool
62 AGPerson::decide(double proba) const {
63  return (RandHelper::rand(1000) < static_cast<int>(1000.0f * proba));
64 }
65 
66 /****************************************************************************/
virtual ~AGPerson()
Cleans up everything.
Definition: AGPerson.cpp:46
virtual bool decide(double probability) const
Lets the person make a decision.
Definition: AGPerson.cpp:62
static double rand(std::mt19937 *rng=0)
Returns a random real number in [0, 1)
Definition: RandHelper.h:64
virtual void print() const
Puts out a summary of the class properties.
Definition: AGPerson.cpp:50
AGPerson(int age)
Initialises the class attributes.
Definition: AGPerson.cpp:43
virtual int getAge() const
Provides the age of the person.
Definition: AGPerson.cpp:56
int age
Definition: AGPerson.h:71