Вступ про конструктор та деструктор в C ++
- Конструктор і Destructor в C ++ відіграють значну роль в об'єктно-орієнтованій мові програмування, як C ++. Оскільки у C ++ у нас є об'єкти класу та його класів під час створення нового об'єкта, кожен раз конструктор може використовуватися для ініціалізації об'єкта, тоді як коли об'єкт збирається знищити деструктор, його можна використовувати для виконання необхідних поштових операцій.
- Коли ми створюємо об’єкт класу в C ++, ми можемо захотіти ініціалізувати поля класу з деякими значеннями за замовчуванням або певними значеннями. Клас має свої поля та методи. Поля - це переважно змінні або об'єкти. Призначаючи ці значення за замовчуванням для цих полів, ми спрощуємо наше програмування. Конструктор є як нормальна функція в класі, і компілятор викликає його автоматично, коли ми створюємо новий об'єкт цього класу. Створюючи об'єкт, ми фактично передаємо необхідні значення як аргумент об'єкту, ці аргументи передаються конструктору класу. Значення аргументу тепер можуть бути призначені відповідним полям, які доступні в класі. Крім того, ми можемо призначити значення за замовчуванням полям, де ми не передаємо аргументи. Існують такі різні типи та способи, за допомогою яких ми ініціалізуємо конструктор на C ++.
- Конструктор - це як особлива функція члена класу. Щоразу, коли ми створюємо новий об’єкт, конструктор виконується. Синтаксис конструктора дуже простий, функція матиме те саме ім’я, що і для класу, в якому вона визначена, і не матиме жодного типу повернення, навіть недійсного. Конструктори дуже корисні при призначенні певних значень певним членам класу. Конструктор може бути використаний для виконання логіки, пов'язаної з класом, в момент інстанції.
Синтаксис конструктора
class Box (
public:
int height;
//constructor
Box () (
// member initialization
)
)
Деструктор в C ++ - це також особлива функція члена в класі. Компілятор викликає деструктор автоматично і виконується кожного разу, коли об’єкт цього конкретного класу виходить із сфери застосування або видаляється, використовуючи вираз delete на покажчик цього об’єкта. Кожного разу, коли об’єкт знищується компілятором, викликається деструктор. У деструкторі ми можемо виконувати оператори, які можуть бути будь-якими, що ми хочемо виконати, коли об'єкт виходить за межі області. Пост-операції, такі як закриття з'єднань, закриття файлів тощо, - це деякі приклади, які ми можемо виконати в деструкторі.
Синтаксис деструктора
class Box (
public:
int height;
//destructor
~Box () (
// post statements
)
)
Синтаксис деструктора дуже схожий на конструктор. Він матиме те саме ім’я, що і клас, у якому він визначений, і не матиме типу повернення. Однак якраз він буде мати знак ~ (tilde) перед назвою деструктора. Зазвичай деструктор використовується для розміщення динамічно виділеної пам'яті для класу та його членів. Деструктори дуже корисні для виконання поштових операцій, які можна виконувати за діловою логікою.
Навіщо нам потрібні конструктор і деструктор на 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 виходить із сфери застосування, компілятор виводить на консоль текст, як визначено вище.
Висновок
Отже, Конструктор і Деструктор відіграють важливу роль в об'єктно-орієнтованій мові програмування. Конструктор використовується для ініціалізації об'єкта, а деструктор використовується при знищенні об'єкта. І конструктор, і деструктор дуже корисні при програмуванні на мові C ++.
Рекомендовані статті
Це посібник для конструктора та деструктора в C ++. Тут ми обговорюємо потреби конструктора та деструктора в C ++, способи використання, різних синтаксисів та прикладів. Ви також можете ознайомитись з іншими пов'язаними з нами статтями, щоб дізнатися більше -
- Функції масиву C ++
- Копіювання конструктора в C ++
- Вступ до C ++
- Типи конструктора в С
- Посібник з деструктора в C #
- Деструктор в PHP з прикладами