#include <iostream>
#include <cstdint>
using namespace std;
class SensorData {
private:
uint8_t* data; // dynamically allocated buffer of size 8
public:
// Write your constructor here
SensorData(uint8_t* wsk)
{
data = (uint8_t*)new uint8_t[8];
for ( int i = 0; i < 8; i++)
{
data[i] = wsk[i];
}
};
// Write your copy constructor here
SensorData(const SensorData& other)
{
data = (uint8_t*)new uint8_t[8];
for ( int i = 0; i < 8; i++)
{
data[i] = other.data[i];
}
}
// Write your destructor here
~SensorData()
{
delete[] data;
}
void setIndex3() {
data[3] = 99;
}
void print() const {
for (int i = 0; i < 8; i++) {
cout << (int)data[i] << (i == 7 ? "" : " ");
}
cout << endl;
}
};
int main() {
uint8_t arr[8];
for (int i = 0; i < 8; i++) {
int temp;
cin >> temp;
arr[i] = static_cast<uint8_t>(temp);
}
SensorData a(arr);
SensorData b = a;
b.setIndex3();
a.print();
b.print();
return 0;
}
Input
1 2 3 4 5 6 7 8
Expected Output
1 2 3 4 5 6 7 8 1 2 3 99 5 6 7 8