![]() Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Конструктор не повертає значення, не наслідує, не може бути оголошений як const,virtual, volatile або static.
Деструктор вирішує задачу, обернену задачі конструктора. Він викликається тоді, коли об’єкт винищується. Ім’я деструктора складається із знака “~“ та імені класу. Наприклад, ~date(). Деструктор не має аргументів, не повертає значення, не наслідується, не може бути оголошений як const, volalite або static. Деструктор може бути оголошений як virtual. Компілятор сам генерує деструктор, якщо програміст його не визначає. Коли об’єкт виходить за область видимості, деструктор викликається автоматично. Приклад класу – список в динамічній пам’яті. #include < alloc.h> class list { void *info; list *next; public: list (void*); list (); ~list (); void add (void*); }; Даний клас реалізує рекурсивну структуру даних. Рекурсивність цього класу полягає в тому, що перелік розглядається як вказівник на деяку інформацію в динамічній пам’яті (поле info) та вказівник на перелік, тільки більш короткий (поле next). В окремому випадку одноелементного переліку цей вказівник дорівнює NULL. list:: list () {info – 0; next = 0}
Це конструктор, в якому отримують нульові значення за правилами присвоювання. list:: list (void* p): info (p), next = 0 { }
У цьому конструкторі в поле info заноситься вказівник на деяку інформацію, яка вже розташована в пам’яті. Різниця від першого конструктора полягає в тому, що поля отримують значення за правилами ініціалізації. У цьому випадку це зроблено тільки для демонстрації такої можливості і не має деякої необхідності. list:: list () { delete info; delete next; } Це деструктор, який звільнює усю динамічну пам’ять, яку займає перелік. Деструктор рекурсивний, тому що оператор delete next; автоматично викликає деструктор класу для переліку, на який вказує next та інші, поки не настане час, коли в черговому полі next не з’явиться NULL. У цьому випадку операція завершиться невдачею, і деструктор не буде викликаний. Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок. — Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта. — Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы). — SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание. SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение Void list:: add (void* p) { list *1 = new list (p); l–> next = next; next = 1; }
Цей метод додає один елемент до переліку. Спочатку оператор list *1 = new list (p); створює перелік з одного елемента, а потім декілька операторів l–> next = next; next = 1; “влаштовують” цей елемент відразу за головним елементом переліку. Void main () { list *L = new list (“123456789”); int *q = new int, *q=10; L–> add (q); delete L; } Головна програма демонструє створення одноелементного переліку, list *L = new list (“123456789”); додання до нього другого елемента int *q = new int, *q=10; L–> add (q); та вилучення переліку з пам’яті delete L; Вказівник на себе. Кожний об’єкт має вказівник на себе, який позначається ідентифікатором this. Він є скритим параметром кожної функції-компоненти. Для об’єкта list вказівник this має тип: list *const this Функцію-компоненту можна оголосити так, щоб поля об’єкта були доступні не тільки для читання Int readme () const {/* тіло функції */} Вказівник this, що предавається такою функцією має тип: Const list *this.
|