19823

Ініціалізація та руйнування об’єкта (конструктори та деструктори)

Доклад

Информатика, кибернетика и программирование

Ініціалізація та руйнування обєкта конструктори та деструктори. Як правило певну частину об'єкта перш ніж його можна буде використову вати необхідно ініціалізувати. Наприклад розглянемо клас myClass який було представлено вище у цьому підрозділі. Перш ніж об'єк

Украинкский

2013-07-17

25 KB

5 чел.

Ініціалізація та руйнування об’єкта (конструктори та деструктори).

Як правило, певну частину об'єкта, перш ніж його можна буде використову-

вати, необхідно ініціалізувати. Наприклад, розглянемо клас myClass, який було

представлено вище у цьому підрозділі. Перш ніж об'єкти класу myClass можна бу-

де використовувати, змінній a потрібно надати нульове значення. У нашому ви-

падку ця вимога виконувалася за допомогою функції Init(). Але, оскільки вимога

ініціалізації членів-даних класу є достатньо поширеною, то у мові програмування

C++ передбачено реалізацію цієї потреби при створенні об'єктів класу. Така авто-

матична ініціалізація членів-даних класу здійснюється завдяки використанню

конструктора.

Конструктор – це спеціальна функція-член класу, яка викликається при створенні об'єкта, а її ім'я обов'язково збігається з іменем класу.

Конструктор об'єкта викликається при створенні об'єкта. Це означає, що він

викликається у процесі виконання настанови створення об'єкта. Конструктори

глобальних об'єктів викликаються на самому початку виконання програми, тобто

ще до звернення до функції main(). Що стосується локальних об'єктів, то їх конс-

труктори викликаються кожного разу, коли виникає потреба створення такого об'-

єкта.

Доповненням до конструктора слугує деструктор – це функція, яка викли-

кається під час руйнування об'єкта. У багатьох випадках під час руйнування об'-

єкта необхідно виконати певну дію або навіть певні послідовності дій. Локальні

об'єкти створюються під час входу в блок, у якому вони визначені, і руйнуються

при виході з нього. Глобальні об'єкти руйнуються внаслідок завершення програ-

ми. Існує багато чинників, які заставляють використовувати деструктори. Наприк-

лад, об'єкт повинен звільнити раніше виділену для нього пам'ять. У мові програ-

мування C++ саме деструкторам доручається оброблення процесу деактивізації

об'єкта.

Ім'я деструктора має збігатися з іменем конструктора, але йому передує сим-

вол "~". Подібно до конструкторів, деструктори не повертають значень, а отже, в їх оголошеннях відсутній тип значення, що повертається.


 

А также другие работы, которые могут Вас заинтересовать

77202. Вредители бобовых культур 86.5 KB
  Основные вредители гороха и меры борьбы с ними. Основные вредители люпина и система защитных мероприятий. Вредители многолетних бобовых трав. Интегрированная система защиты бобовых культур от вредителей...
77203. Формирование кадровой политики предприятия связи ОАО Липеком 739.5 KB
  Кадры управления менеджеры и их роль в процессе деятельности предприятия. Общая характеристика управления кадрами. Статья приложения структуры управления Липекома и статья приложения аудиторской проверки сканированы и отпечатаны с оригинала.
77204. Автоматизация отслеживания состояния покрытия автомобильных дорог 249.5 KB
  Общеизвестно что состояние дорожного покрытия на протяжённых участках автомобильных дорог как на территории Российской Федерации так и в некоторых других странах далеко от идеального. Характер и численность дефектов покрытия разнятся: на некоторых участках автомобилист может столкнуться...
77205. Декомпозиция временных рядов в СУБД Oracle 102 KB
  Целью данной работы являлось создание пакета процедур и функций с помощью которых можно было бы легко и эффективно манипулировать временными рядами в СУБД ORCLE. Для хранения информации о рядах создает отдельная таблица Timeseries в которой хранятся имя или идентификатор ряда...
77206. Разработка программного обеспечения системы программно-аппаратной защиты ПО 381.5 KB
  Данная курсовая работа является частью проекта по разработке системы программно-аппаратной защиты ПО. Данный комплекс представляет собой комбинированную систему, предназначенную для защиты коммерческого программного обеспечения от несанкционированного использования или для защиты...
77208. Поддержка языка Lisa в среде Eclipse 293 KB
  В компании Parallels ведётся разработка продукта StellArt IDE – среда программирования на основе Eclipse для языка Lisa. Я участвую в разработки данного продукта. Продукт разрабатывается по технологии Scrum, так что каждый месяц в течение всего периода разработки поставляется...
77209. Инструмент аспектно-ориентированного программирования Aspect.Java 628 KB
  Данная курсовая работа посвящена такой относительно новой методологии в разработке программного обеспечения как аспектно-ориентированное программирование. Суть данного подхода – поддержка разработки и модификации сквозной функциональности (cross-cutting concerns) в больших программных системах.
77210. Разработка framework для JSR 290 TCK 450 KB
  Technology Compatibility Kit (TCK) – тестовая сюита, позволяющая протестировать реализацию какого-либо Java Specification Request (JSR) на соответствие спецификации. Это одна из трех составляющих ратифицированного JSR в Java Community Process, которыми являются: Спецификация JSR JSR Reference Implementation