Введение в конструктор и деструктор в C ++

  • Конструктор и деструктор в C ++ играют значительную роль в объектно-ориентированном языке программирования, таком как C ++. Так как у нас есть класс и его объекты в C ++, при создании нового объекта каждый раз конструктор можно использовать для инициализации объекта, тогда как когда объект собирается уничтожить, деструктор можно использовать для выполнения необходимых послеоперационных операций.
  • Когда мы создаем объект класса в C ++, мы можем захотеть инициализировать поля класса с некоторыми значениями по умолчанию или определенными значениями. У класса есть свои поля и методы. Поля в основном переменные или объекты. Присваивая значения по умолчанию этим полям, мы облегчаем наше программирование. Конструктор похож на обычную функцию внутри класса, и компилятор вызывает ее автоматически, когда мы создаем новый объект этого класса. При создании объекта мы фактически передаем требуемые значения в качестве аргумента объекту, эти аргументы передаются в конструктор класса. Значения аргументов теперь можно назначать соответствующим полям, которые доступны в классе. Кроме того, мы можем присвоить значения по умолчанию полям, в которые мы не передаем аргументы. Существуют различные типы и способы инициализации конструктора в C ++.
  • Конструктор подобен специальной функции-члену класса. Всякий раз, когда мы создаем новый объект, конструктор выполняется. Синтаксис конструктора очень прост, у функции будет то же имя, что и у класса, в котором она определена, и у нее не будет никакого возвращаемого типа, даже void. Конструкторы очень полезны при назначении определенных значений определенным членам класса. Конструктор может использоваться для выполнения логики, связанной с классом, во время создания экземпляра.

Синтаксис конструктора

class Box (
public:
int height;
//constructor
Box () (
// member initialization
)
)

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

Синтаксис деструктора

class Box (
public:
int height;
//destructor
~Box () (
// post statements
)
)

Синтаксис деструктора очень похож на конструктор. Он будет иметь то же имя, что и имя класса, в котором он определен, и не будет иметь возвращаемого типа. Тем не менее, он будет иметь знак ~ (тильда) перед именем деструктора. Обычно деструктор используется для освобождения динамически выделяемой памяти для класса и его членов. Деструкторы очень полезны для выполнения почтовых операций, которые могут выполняться после бизнес-логики.

Зачем нам нужен конструктор и деструктор в C ++?

C ++ - это объектно-ориентированный язык программирования. На любом объектно-ориентированном языке программирования мы сопоставляем оригинальные сущности с классом и объектами.

Давайте разберемся, зачем нам нужен конструктор и деструктор в C ++ на примере из реальной жизни. Предположим, у нас есть сущность Box, и мы создали для нее класс, в котором также будут объекты, которые можно использовать в других частях. Теперь у блока будут определенные параметры, такие как высота, длина, ширина и т. Д., И всякий раз, когда мы создаем объект класса Box, мы хотим, чтобы он принимал некоторое значение по умолчанию. Скажем, для высоты, эта цель может быть достигнута путем назначения определенного значения по умолчанию для высоты в конструкторе этого класса. Аналогично, для других параметров также могут быть назначены значения. Допустим, после использования объекта Box мы хотим немедленно выполнить какое-то конкретное действие или вызвать некоторую функцию. Это можно сделать с помощью Destructor в C ++. Требуемые операторы будут добавлены в деструктор этого класса. Это преимущества реального времени наличия конструктора и деструктора в C ++.

Как работают конструкторы и деструкторы в C ++?

Как обсуждалось ранее, конструктор вызывается компилятором всякий раз, когда создается объект. Если мы не определяем конструктор, компилятор C ++ автоматически генерирует конструктор по умолчанию для нас. Конструктор используется для выделения памяти, если требуется, и конструирования объекта класса, тогда как деструктор используется для выполнения требуемой очистки при разрушении объекта. Деструктор автоматически вызывается компилятором, когда объект уничтожается. Если мы не определяем наш собственный деструктор, компилятор C ++ создает деструктор по умолчанию.

Создание конструктора и деструктора в C ++? (Примеры)

1. Пример конструктора

Давайте возьмем тот же пример класса Box, чтобы объявить конструктор. Давайте назначим некоторые значения по умолчанию для высоты и веса коробки.

Код

class Box (
public:
int height;
int weight;
// constructor
Box () (
// member initialization
height = 10;
weight = 20;
)
)

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

2. Пример деструктора

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

Код

class Box (
public:
int height;
int weight;
// constructor
Box () (
// member initialization
height = 10;
weight = 20;
)
//destructor
~Box () (
// post statements
cout << “Box Object is being deleted.” << endl;
)
)

Таким образом, всякий раз, когда объект Box выходит из области видимости, компилятор выводит на консоль текст, как определено выше.

Вывод

Итак, Constructor и Destructor играют важную роль в объектно-ориентированном языке программирования. Конструктор используется для инициализации объекта, а деструктор - для уничтожения объекта. И конструктор, и деструктор очень полезны при программировании на языке C ++.

Рекомендуемые статьи

Это руководство по конструктору и деструктору в C ++. Здесь мы обсуждаем потребности конструктора и деструктора в C ++, как их использовать, различный синтаксис и примеры. Вы также можете просмотреть другие наши статьи, чтобы узнать больше-

  1. Функции массива C ++
  2. Копировать конструктор в C ++
  3. Введение в C ++
  4. Типы конструктора в C
  5. Руководство по деструктору в C #
  6. Деструктор в PHP с примерами