Что такое классы контейнеров C++?

Область видимости переменных в C++ Программирование и разработка

Контейнерный класс, как следует из названия, используется для хранения различных значений, объектов, переменных и т.д. В памяти или во внешнем хранилище. Класс контейнера поддерживает другие классы, присутствующие в программах, и скрывает объекты / переменные, используемые в памяти. В нем хранится множество предметов, и все они легко доступны другим участникам программы.

Все классы контейнера получают эффективный доступ к элементам контейнера через итераторы. Известно, что этот класс хранит в памяти несколько похожих и смешанных объектов. Емкость может быть однородной или неоднородной. Если контейнер содержит смешанные объекты, он является неоднородным, тогда как в случае схожих предметов он известен как класс однородных контейнеров.

Мы собираемся объяснить эту концепцию в операционной системе Linux, поэтому вам необходимо установить Ubuntu в работающей форме в вашей системе. Итак, вы должны установить Virtual Box и после загрузки и установки настроить его. Теперь добавьте к нему файл Ubuntu. Вы можете получить доступ к официальному сайту Ubuntu и загрузить файл в соответствии с требованиями вашей системы и операционной системы. Это займет часы, после установки настройте его на виртуальной машине. В процессе настройки убедитесь, что вы создали пользователя, потому что это важно для любых операций на терминале Ubuntu. Более того, Ubuntu требует аутентификации пользователя перед любой установкой.

Мы использовали версию Ubuntu 20.04; вы можете использовать последнюю версию. Для реализации вам потребуется текстовый редактор и доступ к терминалу Linux, потому что мы сможем видеть вывод исходных кодов на терминале через запрос. Пользователь должен иметь базовые знания C ++ и объектно-ориентированного программирования, чтобы использовать классы в программе.

Класс контейнера / контейнеровоз и его типы

Класс называется контейнером, когда он используется для хранения значений, которые используются другими переменными в той же программе. Библиотека классов GUI имеет группу классов-контейнеров. Контейнеры указателей предоставляют контейнеры, в которых хранятся объекты, выделенные посредством безопасного выбора кучи. Такое использование контейнерного класса призвано упростить ООП на языке C ++. Это делается, когда установлен стандартный набор класса.

Тип отношений между классами известен как контейнеровоз. Класс, содержащий такие отношения, — это контейнерный класс. Точно так же объект известен как объект-контейнер.

Читайте также:  Chef или Puppet: сравнение инструментов управления конфигурацией с открытым исходным кодом

Стандартные классы контейнеров C ++

Стандартные классы описываются следующим образом:

  • Std :: map: используется для обработки массива или разреженной матрицы.
  • Std :: vector: как и массив, классы-контейнеры имеют дополнительные функции, такие как вставка и удаление элементов, автоматическое управление памятью и выдача исключений.
  • Std :: string: это массив символов.

Синтаксис контейнера

// Class that is to be contained

class One {

};

// Container class

class Two {

// creating object of One

One O;

};

Пример 1

В этом примере мы создали контейнерный класс с именем second. Во-первых, библиотека используется для того, чтобы сделать файл доступным для чтения и записи. Первый класс содержит функцию с именем display, которая используется для отображения сообщения при вызове функции. В публичной части класса есть конструктор, который вызывает функцию первого класса, а затем отображается значение. Все эти шаги можно сократить, выполнив эти функции в одном классе, но поскольку мы обсуждаем концепцию контейнера, поэтому каждая функция выполняется отдельно в отдельном классе.

# include <iostream>

Возвращаясь к программе, в основной программе мы создали объект второго класса. При создании этого объекта будет автоматически вызываться второй класс, а после вызова будет инициирован конструктор, который вызовет первый класс, и оператор будет отображаться из функции.

Возвращаясь к программе, в основной программе мы создали объект

Чтобы увидеть результирующее значение кода, мы перейдем в терминал Ubuntu. Для компиляции кода мы используем компилятор, для C ++ мы используем компилятор G ++ для компиляции кода.

$ G++ o con con.c

$ ./con

Выполнив код, вы увидите, что функция будет выполнена

Выполнив код, вы увидите, что функция будет выполнена, и будет отображен оператор.

Пример 2

Этот пример похож на первый, с той лишь разницей, что на этот раз мы не унаследовали первый класс второму, создав объект. Но в классе отображается сообщение. Первый класс имеет общедоступную часть, которая содержит непосредственно конструктор, но не функцию отображения. Это потому, что мы не желаем устанавливать отношения первого класса со вторым. Мы не вызывали функцию. Объект второго класса создается в основной программе.

Этот пример похож на первый, с той лишь разницей, что на этот раз мы не

Снова перейдите в терминал и используйте ту же команду, это отобразит два сообщения, одно от первого класса, а другое от второго класса. Этот пример показывает, что контейнеры также можно использовать без взаимодействия с другими функциями.

Снова перейдите в терминал и используйте ту же команду, это отобразит два сообщения

Пример 3

Теперь в этом примере мы не просто отображаем какое-либо сообщение, число задается в конструкторе класса контейнера, а затем оно отображается в первом классе. Первый класс использует переменную для принятия переменной и отображения числа вместе с ней. Здесь используется другая функция, возвращающая число. Теперь перейдя ко второму классу, конструктор использует объект первого класса, созданный во втором классе.

Используя объект, он вызывает обе функции, которые присутствуют в первом классе

Используя объект, он вызывает обе функции, которые присутствуют в первом классе, функцию отображения и функцию получения числа. Функция получения number () использует число и передает его функции.

# f.getnum() = 50;

# f.display();

После этого в основной функции создается только второй объект класса

После этого в основной функции создается только второй объект класса. При создании объекта второго класса автоматически выполняется конструктор второго класса. Выполнив результат на терминале, вы узнаете, что отображается номер, который вы ввели в контейнерный класс.

Это были примеры, которые мы использовали для объяснения концепции

Это были примеры, которые мы использовали для объяснения концепции контейнерного класса. Существует путаница между наследованием и контейнеровозом.

В контейнеровозе функции класса находятся внутри нового класса, но не в наследовании, например, этот класс не является дочерним классом. Например, у мобильного есть андроид, а у грузовика есть двигатель. С другой стороны, в случае наследования, когда нам нужен новый тип класса, обладающий функциями базового класса, это наследование.

Заключение

Концепция контейнерного класса объясняется на примерах операционной системы Linux при настройке Ubuntu. Класс контейнера действует как тип данных массива, чтобы содержать в нем значения, которые можно использовать и получить доступ через другие объекты в тех же или разных случаях. Используя контейнерный класс, пользователь должен осознавать разницу между наследованием и контейнеризацией. В данной статье мы стремились описать основы контейнерного класса и надеемся, что этих знаний достаточно, чтобы быть на должном уровне.

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