Void main(). cout << S. kv() << "\n" << S.Get_r();
{
Sf S(1.0, 2.0, 3.0, 4.0);
cout << S. kv() << "\n" << S.Get_r();
}
//Виведення:
//201.062
//4.0
В даному прикладі обчислюється об'єм і площа кулі з використанням відповідних вбудованих функцій kv() і cub(). Доступ до елементів об'єкту можливий, якщо вони мають специфікатор public. Отримати або змінити значення елементів із специфікатором private можна тільки через звернення до відповідних методів. У нашому випадку функція Get_r() повертає значення змінної r (радіусу кулі), що має специфікатор доступу private. Функція Sf – функція конструктор має таке ж ім’я як і клас, використовується для одночасного створення й ініціалізації змінних класу. Ця функція не повертає значень.
Деструктор також має ім’я класу, але містить перед ім’ям тильду (~). Функція-деструктор не приймає аргументів і не повертає значень. У нашому прикладі функція ~Sf () нічого не робить, що характерно для більшості деструкторів. Їхнє основне призначення – звільнення пам’яті, що була виділена для об’єкта класу. Деструктор може виконувати й інші дії, наприклад, такі як виведення останніх значень даних-членів класу. Це зручно при налагодженні. Якщо функція-деструктор не робить ніяких дій, то немає потреби її створювати. Як тільки змінна типу клас перестає існувати, виділена для об’єкта пам’ять повертається системі. Аналогічно, якщо конструктор не виконує ніяких дій, то немає потреби його створювати.
1.3.3. Захищені члени класу
Коли ви визначаєте клас, що у свою чергу використовується як базовий для інших класів, можете зробити його члени доступними тільки для функцій похідних класів за допомогою слова protected.
Розглянемо ієрархію об’єктів, приведених на рис. 1.
Ієрархія, подана на рисунку1 може бути виражена таким кодом:
Дата добавления: 2014-12-26; просмотров: 656;