|
Пример 1 Функция - элемент одного класса может быть дружественной иному классу
|
bet | 4/5 | Sana | 07.01.2023 | Hajmi | 0.68 Mb. | | #37707 |
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 Функция - элемент одного класса может быть дружественной иному классу. class x { ... void f(); }; class y { ... friend void x::f(); //функция f() из класса x объявляется дружественной }; class x { ... friend class y; //все функции класса y являются дружественными классу x } Конструктор – объектга (яратилгандан кейин унга) ажратилган хотирага автоматик мурожаат этадиган синф методларига айтилади. - Конструктор – объектга (яратилгандан кейин унга) ажратилган хотирага автоматик мурожаат этадиган синф методларига айтилади.
- Деструктор – метод класса, который автоматически вызывается перед освобождением памяти из под объекта (перед уничтожением объекта).
Виды конструкторов: - Конструкторы по умолчанию (без параметров);
- Конструкторы с параметрами;
- Конструкторы копирования.
Конструкторлар ва деструкторлар
Конструктор используется для инициализации полей объекта, а также для выделения памяти для динамических полей объекта (т. е. полей, память под которые необходимо выделять на этапе выполнения программы). - Конструктор используется для инициализации полей объекта, а также для выделения памяти для динамических полей объекта (т. е. полей, память под которые необходимо выделять на этапе выполнения программы).
- Основные свойства конструктора: имеет тоже имя, что и класс; не может возвращать значение.
- Конструкторы можно перегружать для различных вариантов инициализации объектов класса.
- Замечание. В С++ методы класса и внешние функции могут быть перегружены, т. е. иметь одинаковые имена, но разные списки параметров.
- Если в классе отсутствует конструктор, то компилятором автоматически создается конструктор по умолчанию (конструктор без параметров), который не выполняет инициализацию полей объекта класса.
- Если класс имеет конструктор с параметрами, то конструктор без параметров (конструктор по умолчанию) автоматически не создается, поэтому, если он необходим, то его необходимо создавать явно (т. е. перегрузить конструктор с параметрами).
- Деструктор используется для выполнения тех действий, которые необходимо выполнить перед уничтожением объекта, например, освобождает память, выделенную конструктором для динамических полей. Имя деструктора совпадает с именем класса и начинается с символа тильда (~). Деструктор не имеет параметров и не может возвращать значение. Если деструктор не объявлен явно, он, как и конструктор, создается компилятором как пустой метод.
- Класс может иметь только один деструктор, перегрузка деструкторов запрещена.
- Замечание: В примере 2 (на след. слайде) модификатор const в параметрах конструктора защищает эти параметры от случайных (ненамеренных) изменений. В случае изменения этих параметров компилятор выдает сообщение.
|
| |