-
Notifications
You must be signed in to change notification settings - Fork 0
/
Character.cpp
58 lines (49 loc) · 1.67 KB
/
Character.cpp
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
55
56
57
// //////////////////////////////////////////////////////////////////////
// Import section
// //////////////////////////////////////////////////////////////////////
// STL
#include <stdexcept>
#include <cassert>
#include <sstream>
#include <string>
// Characcters
#include <Character.hpp>
// //////////////////////////////////////////////////////////////////////
Character::Character() : Character("Noname", 0) {
}
// //////////////////////////////////////////////////////////////////////
Character::Character (const std::string& iName, const int& iAge) :
m_name(iName), m_age(iAge) {
}
// //////////////////////////////////////////////////////////////////////
Character::~Character() {
}
// //////////////////////////////////////////////////////////////////////
const int& Character::getAge() const {
return m_age;
}
// //////////////////////////////////////////////////////////////////////
const std::string& Character::getName() const {
return m_name;
}
// //////////////////////////////////////////////////////////////////////
void Character::setAge (const int& iAge) {
if (iAge < 0 ) {
std::ostringstream ostr;
ostr << "The given age (" << iAge
<< ") is invalid; it should be positive" << std::endl;
const std::string& iErrMsg = ostr.str();
throw std::out_of_range (iErrMsg);
}
m_age = iAge;
}
// //////////////////////////////////////////////////////////////////////
void Character::setName (const std::string& iName) {
m_name = iName;
}
// //////////////////////////////////////////////////////////////////////
std::string Character::describe() const {
std::ostringstream ostr;
ostr << m_name << " : " << m_age;
return ostr.str();
}