Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <initializer_list> // подключить если будет ошибка компиляции
- using namespace std;
- class int_array {
- public:
- int_array() : length(0), data(nullptr) {}
- int_array(int length) : length(length), data(new int[length]) {}
- int_array(const initializer_list<int>& list) : int_array(list.size()) {
- int i = 0;
- for (const int& element : list) {
- data[i] = element;
- i++;
- }
- }
- ~int_array() {
- delete[] data;
- }
- int& operator[](int index) {
- return data[index];
- }
- int get_lenght() const {
- return length;
- }
- private:
- int length;
- int* data;
- };
- int main() {
- int_array array{ 7, 6, 5, 4, 3, 2, 1 }; // эта строка компилируется только при наличии конструктора для initializer_list
- for (int i = 0; i < 7; i++) {
- cout << array[i] << ' ';
- }
- cout << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment