Курс лекций мдк 01. 02 «Прикладное программирование» пм 01 «Разработка программных модулей программного обеспечения для компьютерных систем»



Download 350,99 Kb.
bet5/22
Sana08.12.2022
Hajmi350,99 Kb.
#881790
TuriКурс лекций
1   2   3   4   5   6   7   8   9   ...   22
Bog'liq
lektsii pm01-1

class Rectang1e
14

{
private:


//длина и ширина прямоугольного объекта f1oat 1ength, width;


pиblic:



  • конструктор

Rectang1e(f1oat = 0, f1oat = 0);



  • методы для нахождения и изменения закрытых данных float GetLength(void) const;

void PutLength(f1oat 1); float GetWidth(void) const; void PutWidth{f1oat w);





  • вычислять и возвращать измерения прямоугольника float Perimeter (void) const;

float Area(void) const;

};


Обратите внимание, что методы GetLength, GetWidth, Perimeter и Area имеют ключевое слово const после списка параметров. Это объявляет каждый метод как константный. В определении константного метода, никакой элемент данных не может быть изменен. Другими словами, выполнение метода, объявленного как const, не изменяет состояния объекта Rectangle.

Если первый спецификатор доступа опускается, начальные поля в классе являются закрытыми по умолчанию. Члены класса являются закрытыми до первого появления открытой или защищенной спецификации. С++ позволяет программисту чередовать закрытую, защищенную и открытую секции, хотя это обычно не рекомендуется.




Тема «Инициализация и разрушение объектов»


Конструктор

Функция, называемая конструктором (constructor) класса, имеет то же имя, что и класс. Подобно другим функциям С++, конструктору могут передаваться параметры, используемые для инициализации одного или более данных-полей класса. В классе Rectangle конструктору дается имя Rectangle, и он принимает параметры l и w, используемые для инициализации длины и ширины объекта, соответственно. Заметьте, что эти параметры имеют значения по умолчанию, которые указывают, что используется значение 0, когда параметр 1 или w не передается явно.




Деструктор

Динамическое выделение памяти для объектов какого – либо класса создаёт необходимость в освобождении этой памяти при уничтожении объекта. Такую возможность даёт специальный метод класса – деструктор. Так если в конструкторе класса «матрица» выделяется память для 10


15

целочисленных элементов, то в деструкторе эта память должна освобождаться.


Операторы конструктора:


int *m;

m= new int [i*j];


Операторы деструктора:


delete m;

Для деструктора предусмотрен специальный формат:


~имя_класса () { операторы деструктора}


Конструкторы и деструкторы особые члены класса, служащие для инициализации и уничтожения объекта. Ниже приведены некоторые их особенности:



  • они не возвращают никакого значения даже void;

  • не учавствуют в механизме наследования;

  • нельзя получить их адрес;

  • конструкторы не могут быть виртуальными;







  • автоматически вызываются при создании и уничтожении

объекта.

Конструкторы имеют тоже имя, что и имя класса. Конструктор принимающий ссылку на собственный класс, называется конструктором




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

Деструктор имеет тоже имя, что и имя класса, но перед именем ставится знак ~. При инициализации объекта, вначале инициализируются его родительские объекты в порядке включения.




Объявление объекта

Объявление класса описывает новый тип данных. Объявление объекта типа класс создает экземпляр (instance) класса. Это делает реальным объект типа класс и автоматически вызывает конструктор для инициализации некоторых или всех данных-членов класса. Параметры для объекта передаются конструктору заключением их в скобки после имени объекта. Заметьте, что конструктор не имеет возвращаемого типа, поскольку вызывается только вовремя создания объекта:


ClassName object («parameters»); //список параметров может быть пустым





Download 350,99 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   22




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish