-
Notifications
You must be signed in to change notification settings - Fork 1
/
Lab_solution_08.cpp
93 lines (78 loc) · 3.05 KB
/
Lab_solution_08.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
92
93
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
class Device
{
public:
Device(std::string const model, int systemID, bool isConnected = false, const char* metaData = NULL)
{
m_model = model;
m_systemID = systemID;
m_isConnected = isConnected;
// Create m_metaData from metaData
m_metaDataSize = strlen(metaData);
m_metaData = new char[m_metaDataSize + 1];
strcpy(m_metaData, metaData);
}
std::string getModel()
{
return m_model;
}
int getSystemID()
{
return m_systemID;
}
bool getConnStatus()
{
return m_isConnected;
}
const char* getMetaData()
{
return m_metaData;
}
void setModel(std::string const model) { m_model = model; }
void setSystemID(int systemID) { m_systemID = systemID; }
void setConnStatus(bool isConnected) { m_isConnected = isConnected; }
void setMetaData(const char* metaData)
{
delete[] m_metaData;
// Create m_metaData from metaData
m_metaDataSize = strlen(metaData);
m_metaData = new char[m_metaDataSize + 1];
strcpy(m_metaData, metaData);
}
~Device()
{
delete[] m_metaData;
}
protected:
std::string m_model;
private:
int m_systemID = 0;
bool m_isConnected = false;
int m_metaDataSize;
char* m_metaData;
};
int main()
{
Device myDevice1("INTR-202245", 0x245, false, "f651270d6011098375db09912b03e5e7");
std::cout << "Device 1 Model: " << myDevice1.getModel() << "\n";
std::cout << "Device 1 System ID: " << myDevice1.getSystemID() << "\n";
std::cout << "Device 1 is connected: " << myDevice1.getConnStatus() << "\n";
std::cout << "Device 1 meta data: " << myDevice1.getMetaData() << "\n";
Device myDevice2 = myDevice1;
std::cout << "Device 2 Model: " << myDevice2.getModel() << "\n";
std::cout << "Device 2 System ID: " << myDevice2.getSystemID() << "\n";
std::cout << "Device 2 is connected: " << myDevice2.getConnStatus() << "\n";
std::cout << "Device 2 meta data: " << myDevice1.getMetaData() << "\n";
myDevice1.setMetaData("f651270d6011098375db09912b03e478");
std::cout << "Device 1 Model: " << myDevice1.getModel() << "\n";
std::cout << "Device 1 System ID: " << myDevice1.getSystemID() << "\n";
std::cout << "Device 1 is connected: " << myDevice1.getConnStatus() << "\n";
std::cout << "Device 1 meta data: " << myDevice1.getMetaData() << "\n";
std::cout << "Device 2 Model: " << myDevice2.getModel() << "\n";
std::cout << "Device 2 System ID: " << myDevice2.getSystemID() << "\n";
std::cout << "Device 2 is connected: " << myDevice2.getConnStatus() << "\n";
std::cout << "Device 2 meta data: " << myDevice1.getMetaData() << "\n";
}