#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 arr[]){ data = new uint8_t[8]; for (int i=0; i<8 ;i++) { data[i] = arr[i]; } } // Write your copy constructor here SensorData (const SensorData& s){ data = new uint8_t[8]; for (int i=0; i<8; i++) { data[i] = s.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; }
Test Cases
Test Results
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