-
Notifications
You must be signed in to change notification settings - Fork 0
/
Chair.cpp
91 lines (74 loc) · 2.08 KB
/
Chair.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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#include "Chair.h" // class implemented
using namespace std;
// File scope starts here
/////////////////////////////// PUBLIC ///////////////////////////////////////
//============================= LIFECYCLE ====================================
// Chair Default + Overloaded Constructor
Chair::Chair(bool aFolded) : mFolded(aFolded) {
this->SetChair(aFolded);
}
// end Chair constructor
//============================= OPERATIONS ===================================
// function that does something with the Chair.
void Chair::DoSomeThing(void) {
if (this->GetFold())
cout << "Folded ";
else
cout << "Unfolded ";
cout << "chair is doing something." << endl;
}
// end function DoSomething
// function that folds chair.
bool Chair::FoldChair(void) {
cout << "Chair is folding" << endl;
if (this->GetFold()) {
cout << "Can't fold chair because it is already folded." << endl;
return false;
}
else {
this->SetFold(true);
cout << "Chair folded." << endl;
return true;
}
}
// end function FoldChair
// function that unfolds chair.
bool Chair::UnFoldChair(void) {
cout << "Chair is unfolding" << endl;
if (this->GetFold()) {
this->SetFold(false);
cout << "Chair unfolded." << endl;
return true;
}
else {
cout << "Can't unfold chair because it is already unfolded." << endl;
return false;
}
}
// end function UnFoldChair
//============================= ACESS ===================================
// function that sets fold
void Chair::SetFold(bool aFold) {
this->mFolded = aFold;
}
// end function SetFold
// function that sets the Chair
void Chair::SetChair(bool aFolded) {
this->SetFold(aFolded);
}
// end function SetChair
// overloaded function that sets the Chair
void Chair::SetChair(const Chair& rObj) {
this->SetChair(rObj.GetFold());
}
// end function SetChair
// function that gets fold
bool Chair::GetFold()const {
return this->mFolded;
}
// end function GetFold
// function that gets the Chair
const Chair& Chair::GetChair()const {
return *this;
}
// end function GetChair