Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Мітка 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!