35657

Untitled

Jul 5th, 2024
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.02 KB | None | 0 0
  1. #include <iostream>
  2. #include <initializer_list> // подключить если будет ошибка компиляции
  3.  
  4. using namespace std;
  5.  
  6. class int_array {
  7.  
  8. public:
  9.     int_array() : length(0), data(nullptr) {}
  10.  
  11.     int_array(int length) : length(length), data(new int[length]) {}
  12.  
  13.     int_array(const initializer_list<int>& list) : int_array(list.size()) {
  14.         int i = 0;
  15.         for (const int& element : list) {
  16.             data[i] = element;
  17.             i++;
  18.         }
  19.     }
  20.  
  21.     ~int_array() {
  22.         delete[] data;
  23.     }
  24.  
  25.     int& operator[](int index) {
  26.         return data[index];
  27.     }
  28.  
  29.     int get_lenght() const {
  30.         return length;
  31.     }
  32.  
  33. private:
  34.     int length;
  35.     int* data;
  36.  
  37. };
  38.  
  39. int main() {
  40.     int_array array{ 7, 6, 5, 4, 3, 2, 1 }; // эта строка компилируется только при наличии конструктора для initializer_list
  41.     for (int i = 0; i < 7; i++) {
  42.         cout << array[i] << ' ';
  43.     }
  44.     cout << endl;
  45. }
  46.  
  47.  
Add Comment
Please, Sign In to add comment