Initializer Lists C++

Как преобразовать строку в int в C++ Программирование и разработка

Возможно, вы работали с переменными типа списка на многих языках программирования, которые будут использоваться в коде. Списки — одна из немногих переменных структуры данных, используемых для одновременного хранения более одного значения. Однако использовали ли вы список для инициализации некоторых членов данных класса во время кодирования? Списки инициализаторов — это те структуры данных, которые используются в программировании для инициализации некоторых членов данных определенного класса. Если вы еще этого не сделали и ищете что-то подобное, то это руководство по статье подарит вам совершенно новый опыт. В этой статье будет продемонстрировано несколько простых примеров, чтобы увидеть функцию использования списков инициализаторов в C ++. Если вы работаете в системе Ubuntu 20.04, в системе должен быть настроен компилятор G ++. Начните с запуска «терминального» приложения в системе Ubuntu.

Пример 1

Начните свой первый пример C ++ для списка инициализаторов с создания нового документа C ++. Четное зеленое слово «касание» можно использовать здесь для создания файла с именем «initlist.cc». Вы можете найти этот файл в домашней папке, открыв проводник на боковой панели приложения в Ubuntu 20.04. Редактор GNU Nano находится здесь, чтобы помочь и запустить файл «initlist.cc». Ваш файл будет быстро открыт в редакторе в оболочке:

Начните свой первый пример C ++ для списка инициализаторов

Код C ++ должен содержать в себе стандартное пространство имен и поток «io», как мы это сделали ниже. Класс «Test» инициализируется двумя членами закрытых данных, «a» и «b». Список инициализаторов использовался с конструктором открытого типа «Test ()» для создания списка обоих членов данных «a» и «b». Двоеточие использовалось для разделения конструктора и списка инициализаторов. Затем две определяемые пользователем функции, то есть geta () и getb (), инициализируются для получения значений для обоих членов данных отдельно от списка инициализаторов, используемого с конструктором, и возврата результата в основную функцию. На этом класс заканчивается, и запускается функция main (). В методе main () мы создали объект «t» класса «test». Объект принимает два параметрических значения целочисленных типов,

Читайте также:  Символьные типы данных C++

После этого используются стандартные предложения cout для отображения обоих значений элементов данных в оболочке с использованием объекта «t» для вызова в нем функций «geta ()» и «getb ()». Здесь основная функция закрывается, и код заканчивается. Сохраните свой код и запустите его в оболочке:

После этого используются стандартные предложения cout для отображения

Мы скомпилировали предыдущий код с помощью пакета компилятора G ++. При выполнении у нас есть значения обоих элементов данных отдельно в оболочке:

При выполнении у нас есть значения обоих элементов данных отдельно

Пример 2

В нашем втором примере мы будем использовать список инициализаторов для инициализации некоторых нестатических членов данных константного типа в коде C ++. После пространства имен класс с именем «New» был инициализирован с помощью целочисленной переменной «n» частного константного типа. Функция конструктора открытого типа используется вместе со списком инициализаторов для инициализации постоянного члена данных «n». Новая функция «get ()» для целочисленного типа возврата была использована для возврата значения элемента данных «n» в основную функцию. Функция main () создает объект n1 класса «New», передавая ему значение «13» в качестве аргумента.

Конструктор будет вызван, и список инициализаторов установит значение элемента данных «n». Функция get () была вызвана в предложении cout для отображения установленного значения элементов данных в оболочке с использованием объекта «n1». На этом основная функция и программы заканчиваются:

Конструктор будет вызван, и список инициализаторов установит значение

Мы используем список инициализаторов для инициализации значения для некоторых нестатических постоянных членов данных в C ++. Вывод этого кода показывает постоянное значение 13 в оболочке:

Мы используем список инициализаторов для инициализации значения для

Пример 3

Пользователи также могут использовать список инициализаторов с конструктором для инициализации некоторых элементов ссылочных данных. В классе «New» мы использовали ссылочную переменную «n» целочисленного типа. Конструктор общедоступного типа использует список инициализаторов для инициализации элемента ссылочных данных некоторым значением. Функция «get ()» снова используется для получения значения из списка инициализаторов и возврата его в терминал. В основной функции мы инициализировали целое число «a» со значением 13.

Читайте также:  Программа JavaScript для поиска всех делителей числа

Объект класса «n1» был передан с переменной «a», и конструктор будет вызываться для инициализации элемента ссылочных данных с использованием списка инициализаторов. Оператор cout получает инициализированное значение члена ссылочных данных с помощью метода «get ()» с помощью объекта «n1». Переменная «a» была обновлена ​​с новым значением, то есть 23. Оператор cout снова используется для получения обновленного значения из функции get (). Переменная «a» связана со ссылочной переменной «n». Итак, каждый раз, когда мы обновляем значение, оно будет выводить новое значение в оболочке:

Переменная «a» связана со ссылочной переменной «n»

Сначала скомпилируйте код, а затем выполните его. Он выводит первое значение ссылочной переменной, а затем обновленное значение в оболочке. Вот как работает список инициализаторов для членов ссылочных данных:

Вот как работает список инициализаторов для членов ссылочных данных

Пример 4

Список инициализаторов также можно использовать для инициализации объекта при работе более чем с одним классом в C ++. Итак, мы использовали два класса, один и два, в нашем недавно созданном коде. Первый класс с именем «One» содержит целочисленную переменную «val». Он также включает прототип определения функции-конструктора «One», принимающей некоторое целочисленное значение. Класс закрыт, и в нем нет конструктора по умолчанию. Конструктор был инициализирован вне этого класса «a», получая значение целочисленного типа напрямую из основной функции. Это значение было отображено с помощью оператора cout с использованием в нем переменной «val». Другой класс, «Два», был определен с объектом класса «Один», т. Е. «А». Этот класс также содержит прототип определения конструктора.

После этого класса мы использовали его конструктор класса вне его, используя список инициализаторов, чтобы напрямую получить значение для объекта «a» класса «One». Оператор cout указывает, что мы работаем в конструкторе класса «Two». Внутри основной функции мы создали объект класса «Two» и передали ему значение 13 в его список инициализаторов, содержащийся в его конструкторе. Этот список инициализаторов вызовет объект «a» класса «One» и затем передаст значение конструктору класса «One». Конструктор будет выполнен, а значение будет сохранено в переменной «val» и отображено в оболочке. Управление вернулось конструктору класса Two, и будет выполнен оператор cout:

Читайте также:  Как добавить проверку формы в Next.js?

После этого класса мы использовали его конструктор класса вне его

Взамен мы получили следующий результат. Он выводит значение переменной «val» в оболочку вместе с утверждением, что она выполнялась в конструкторе класса «One» или «Two».

Он выводит значение переменной «val» в оболочку вместе

Заключение

Эта статья содержит несколько примеров использования списков инициализаторов в программах на C ++. Мы видели использование списка инициализаторов для инициализации простых членов данных, членов данных константного типа, ссылочных элементов данных и инициализации объекта.

Оцените статью
bestprogrammer.ru
Добавить комментарий