Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Oop1.pdf
Скачиваний:
15
Добавлен:
02.02.2015
Размер:
125.19 Кб
Скачать

 

Зміст

Теоретичні відомості..................................................................................................

2

Термінологія................................................................................................................

2

Типові конструкції мови............................................................................................

2

Оголошення класу.......................................................................................................

2

Конструктор.................................................................................................................

2

Деструктор...................................................................................................................

3

Створення об’єкту.......................................................................................................

3

Виділення файлів для класу.......................................................................................

4

SmsMessage.cpp...........................................................................................................

5

Завдання на лабораторну роботу...............................................................................

6

Індивідуальне завдання..............................................................................................

6

Література....................................................................................................................

8

Тема. Статичні та динамічні класи.

Мета: навчитись створювати та видаляти об’єкти. Отримати навики при виділенні та звільненні пам’яті.

Теоретичні відомості Термінологія

Атрибут класу— поле даних класу. Синоніми: поле класу Метод класу — функція, що використовується для реалізації поведінки

класу.

Клас — синтаксична конструкція мови, котра показує компілятору комплексний тип даних

Конструктор — це метод, який викликається під час створення об’єкту. Об’єкт — змінна типу «клас» Завчасне оголошення — прототиповане оголошення класу.

Оголошення класу — синтаксична конструкція мови, що використовується для визначення методів та атрибутів класу. Зазвичай приводиться у .h-файлі

Реалізація класу — набір синтаксичних конструкцій виконання певних дій методами класу. Зазвичай приводиться у .cpp-файлі.

Типові конструкції мови

Оголошення класу

Завчасне оголошення використовується для декларування декількох класів, що мають бути приведені у одному файлі і використовують один

одного. Приклад завчасного оголошення наведено нижче.

class CSmsMessage; class CExperience

{

public:

CSmsMessage iMessage;

};

Для повного оголошення класу використовується наступний фрагмент

коду на С++:

class CSmsMessage

{

};

Конструктор

При створенні об’єкту класу часто буває корисним виконати певні дії. Для цих цілей використовується спеціальний метод: конструктор. Конструктор має однакове ім’я із класом. Конструктор може мати вхідні аргументи, але не повертає вихідного значення як звичайна функція.

Нижче наведено оголошення класу із трьома конструкторами:

1.аргумент конструктора не використовується;

2.визначається аргумент для конструктора;

3.конструктор копіювання.

class CSmsMessage

{

public:

/** * Конструктор без параметра */

void CSmsMessage(void);

/**

*Конструктор із параметром

*@param aTextLength Задає довжину тексту

*/

void CSmsMessage(int aTextLength);

/**

*Конструктор копіювання

*@param aSmsMessage Вихідний об єкт із даними для копіювання

*/

void CSmsMessage(const CSmsMessage& aSmsMessage);

private:

// довжина тексту int iTextLength;

};

Деструктор

Для видалення всіх ресурсів, зайнятих об’єктом використовується спеціальний метод: деструктор. Деструктор не може мати вхідних параметрів та повинен називатись таким же іменем як і клас.

Для оголошення класу із деструктором використовується наступна

конструкція:

class CSmsMessage

{

public /**

* Деструктор */

~CSmsMessage(); // деструктор

};

Створення об’єкту

Після оголошення класу потрібно використати цей клас у вашій програмі. Використати клас можливо, коли ви створюєте об’єкт цього класу:

Нижче наведене статичне створення об’єкту smsMessage.

void main(void)

{

CSmsMessage smsMessage;

}

Наступна програма використовує динамічне створення об’єкту smsMessage. Доречно зазначити, що необхідним є виділення та звільнення пам’яті, що була виділена.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]