-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProcess.cpp
More file actions
54 lines (43 loc) · 1.26 KB
/
Process.cpp
File metadata and controls
54 lines (43 loc) · 1.26 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
/*****************************************************************
* Implementation of the constructors, member functions (getter)
* and the operator overloading for the class process
******************************************************************/
// Constructors
Process::Process(int procNr, int readyTime, int execTime, int deadline) {
this->procNr = procNr;
this->readyTime = readyTime;
this->execTime = execTime;
this->deadline = deadline;
laxity = deadline - readyTime - execTime;
}
Process::Process(int procNr, int readyTime, int execTime) {
this->procNr = procNr;
this->readyTime = readyTime;
this->execTime = execTime;
}
// Operator overloading for lowering the execution time
// If the execution time becomes negative, throw an error
void Process::operator -= (int n) {
if (execTime - n >= 0) {
execTime-=n;
laxity = deadline - readyTime - execTime;
}
else
throw std::logic_error("Execution time can not be negative");
}
// Getter
int Process::getExecTime() {
return execTime;
}
int Process::getReadyTime() {
return readyTime;
}
int Process::getDeadline() {
return deadline;
}
int Process::getProcessNumber() {
return procNr;
}
int Process::getLaxity() {
return laxity;
}