Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта
  • Конструктор не повертає значення, не наслідує, не може бути оголошений як 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. У цьому випадку операція завершиться невдачею, і деструктор не буде викликаний.

    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.






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.