-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathElement.h
More file actions
62 lines (46 loc) · 1.29 KB
/
Copy pathElement.h
File metadata and controls
62 lines (46 loc) · 1.29 KB
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
#ifndef ELEMENT_H
#define ELEMENT_H
#include <assert.h>
class Element {
private:
Element* _nextElements;
size_t _nextElementsSize;
Element* _previousElements;
size_t _previousElementsSize;
double _data;
public:
Element(Element* nextElement, size_t nextElementsSize, Element* previousElement, size_t previousElementsSize) : _data(0), _nextElements(nextElement), _nextElementsSize(nextElementsSize), _previousElements(previousElement), _previousElementsSize(previousElementsSize) {}
virtual void signal() {}
// Functions to set and get data
void setData(double data) {
_data = data;
}
double getData() const {
return _data;
}
// Functions to set next and previous elements
void setNextElements(Element* nextElements) {
_nextElements = nextElements;
}
void setPreviousElements(Element* previousElements) {
_previousElements = previousElements;
}
// Functions to get next and previous elements
Element* getNextElements() const {
return _nextElements;
}
size_t getNextElementsSize() {
return _nextElementsSize;
}
Element* getPreviousElements() const {
return _previousElements;
}
size_t getPreviousElementsSize() {
return _previousElementsSize;
}
// Function to add value to data
void addToValue(double x) {
setData(getData() + x);
}
};
#endif // ELEMENT_H