// Schreibe eine Klasse Array, in der ein Zeiger des typs double* namens data deklariert wird. Reservieren sie im Konstruktor Speicher dafür und schreibene Sie setter und getter Methoden, um auf das Array data[index] zuzugreifen. Checken Sie, in der setter und getter Methode, ob der übergebene index zu groß oder zu klein ist und geben sie eine Fehlermeldung aus. #include class Array { private: double* data; int size; public: // Konstruktor Array(int n) { data = new double[n]; size = n; } // Destruktor ~Array() { delete[] data; } // Setter-Methode void setData(int index, double value) { if (index < 0 || index >= size) { std::cerr << "Fehler: Index " << index << " ist außerhalb des gültigen Bereichs (0 bis " << size - 1 << ")." << std::endl; return; } data[index] = value; } // Getter-Methode double getData(int index) { if (index < 0 || index >= size) { std::cerr << "Fehler: Index " << index << " ist außerhalb des gültigen Bereichs (0 bis " << size - 1 << ")." << std::endl; return 0.0; // Standardwert bei Fehler } return data[index]; } // Methode zur Ausgabe des Arrays (zum Testen) void print() { for (int i = 0; i < size; ++i) { std::cout << "data[" << i << "] = " << data[i] << std::endl; } } }; // Beispielanwendung int main() { Array arr(5); arr.setData(0, 1.1); arr.setData(4, 2.2); arr.setData(5, 3.3); // Fehlermeldung std::cout << "data[0] = " << arr.getData(0) << std::endl; std::cout << "data[4] = " << arr.getData(4) << std::endl; std::cout << "data[5] = " << arr.getData(5) << std::endl; // Fehlermeldung arr.print(); return 0; }