Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Члени класу



Мітка public: у наведеному вище прикладі ділить тіло класу на дві частини. Імена в першій, закритій частині, можуть використатися тільки функціями-членами класу. Друга, відкрита частина, що розміщена після public, становить інтерфейс до об'єкта класу. За умовчанням всі члени класу є закритими.

У визначенні класу містяться прототипи функцій-членів (але можуть розміщатися й визначення функцій-членів). Якщо в класі зазначений тільки прототип функції, то визначення функції записується поза класом відповідно синтаксису:

Тип_функції Ім'я_класу:: Ім'я_функції (Список_параметрів) {

/*Тіло_функції*/

}

Функція-член виведення даних на екран, яка належить класу Date, може мати наступний вид:

void Date:: print() {

cout << day << "." <<month << "." << year;

}

Операція розширення області видимості:: кваліфікує print() як фун­кцію-член класу Date.

Перед кожним членом може стояти мітка, нею може бути не тільки public, але й ключові слова private і protected. Ці мітки – специфікатори доступу до членів класу:

private – мітка для закритих членів класу які доступні тільки функціям-членам даного класу або членам класів-"друзів". Це специфікація за умовчанням.

protected – для свого класу ця мітка рівнозначна private, але члени із цією міткою доступні для членів даного класу й класів-друзів, а також для членів похідних класів.

public – члени із цією міткою є відкритими, тобто доступні при звертанні до об'єкта з будь-якого місця програми, де даний клас є видимим.

У визначенні класу в розділі public обов'язково міститься функція з тим ім'ям, що й клас (Date). Це конструктор класу – спеціальна функція-член, що ініціалізує дані-члени об'єкта цього класу. Конструктор викликається автоматично при створенні об'єкта. Для конструктора не вказується тип, що повертається, оскільки конструктор створює сам об'єкт даного класу (тобто типу). Функція конструктора описується в такий спосіб:

Date:: Date() { /* тіло функції */ }

Крім конструктора у визначенні класу може міститися (але не обов'язково) деструктор – функція, яка викликається при руйнуванні об'єкта. Ім'я деструктора співпадає з ім'ям конструктора й випереджається позначкою тильда: ~Date().

3.1.3. Доступ до членів класу

Закриті члени класу можуть бути доступні тільки для функцій-членів цього класу. Відкриті члени класу доступні для будь-яких функцій у програмі.

Операції, що забезпечують доступ до членів класу, аналогічні операціям доступу до членів структури. Припустимо, що оголошені об'єкт і покажчик на об'єкт класу Date:

Date current, *pcurr;

Доступ до функції-члена print() забезпечується через ім'я об'єкта як

current.print();

і через покажчик на об'єкт як

pcurr->print();





Дата публикования: 2015-04-07; Прочитано: 1152 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...