• }; class x
  • Виды конструкторов
  • Пример 1 Функция - элемент одного класса может быть дружественной иному классу




    Download 0.68 Mb.
    bet4/5
    Sana07.01.2023
    Hajmi0.68 Mb.
    #37707
    1   2   3   4   5
    Bog'liq
    4-Mavzu sinflar va dostona funksiyalar
    elektr-energiya-sifatini-elektr-energiyasi-isrofiga-ta-siri, Elektrotexnika materiallari, 6-Mavzu Shablonlar va STL komponentlar, 2-Tajriba ishi topshiriqlari, 7 yosh inqirozi uning sabablari va alomatlari, Atestatsiya savollari (5-qism), Kompyuter arxitekturasi fanidan tayyorlagan mustaqil ish, 30g-45, 50B-21, Doc1, 2.2, 1, Risklarni boshqarish TEST.Kunduzgi 100, Cao Lina VKR

    Пример 1

    Функция - элемент одного класса может быть дружественной иному классу.

    class x

    { ...

    void f();

    };

    class y

    { ...

    friend void x::f(); //функция f() из класса x объявляется дружественной

    };

    class x

    { ...

    friend class y; //все функции класса y являются дружественными классу x

    }

    Конструктор – объектга (яратилгандан кейин унга) ажратилган хотирага автоматик мурожаат этадиган синф методларига айтилади.

    • Конструктор – объектга (яратилгандан кейин унга) ажратилган хотирага автоматик мурожаат этадиган синф методларига айтилади.
    • Деструктор – метод класса, который автоматически вызывается перед освобождением памяти из под объекта (перед уничтожением объекта).
    • Виды конструкторов:

    • Конструкторы по умолчанию (без параметров);
    • Конструкторы с параметрами;
    • Конструкторы копирования.

    Конструкторлар ва деструкторлар

    Конструктор используется для инициализации полей объекта, а также для выделения памяти для динамических полей объекта (т. е. полей, память под которые необходимо выделять на этапе выполнения программы).

    • Конструктор используется для инициализации полей объекта, а также для выделения памяти для динамических полей объекта (т. е. полей, память под которые необходимо выделять на этапе выполнения программы).
    • Основные свойства конструктора: имеет тоже имя, что и класс; не может возвращать значение.
    • Конструкторы можно перегружать для различных вариантов инициализации объектов класса.
    • Замечание. В С++ методы класса и внешние функции могут быть перегружены, т. е. иметь одинаковые имена, но разные списки параметров.
    • Если в классе отсутствует конструктор, то компилятором автоматически создается конструктор по умолчанию (конструктор без параметров), который не выполняет инициализацию полей объекта класса.
    • Если класс имеет конструктор с параметрами, то конструктор без параметров (конструктор по умолчанию) автоматически не создается, поэтому, если он необходим, то его необходимо создавать явно (т. е. перегрузить конструктор с параметрами).
    • Деструктор используется для выполнения тех действий, которые необходимо выполнить перед уничтожением объекта, например, освобождает память, выделенную конструктором для динамических полей. Имя деструктора совпадает с именем класса и начинается с символа тильда (~). Деструктор не имеет параметров и не может возвращать значение. Если деструктор не объявлен явно, он, как и конструктор, создается компилятором как пустой метод.
    • Класс может иметь только один деструктор, перегрузка деструкторов запрещена.
    • Замечание: В примере 2 (на след. слайде) модификатор const в параметрах конструктора защищает эти параметры от случайных (ненамеренных) изменений. В случае изменения этих параметров компилятор выдает сообщение.

    Download 0.68 Mb.
    1   2   3   4   5




    Download 0.68 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Пример 1 Функция - элемент одного класса может быть дружественной иному классу

    Download 0.68 Mb.