() - функція поранення,
В· void Vistrel_v_kletkus (Kletka * kletka [10] [10]) - функція обстрілу всіх клітин навколо корабля, якщо він убитий,
В· void Rasstanovka (Kletka * kletka [10] [10]) - функція розставляє кораблі.
Зв'язок між базовим класом Base_Korabl і похідним класам Kor_potomok представлена ​​на схемі 1. Клас Kletka - незалежний клас. br/>В
Схема 1. Зв'язок між класами
4. Програмування завдання
Синтаксис оголошення класу в мові С + + має наступний вигляд:
class <ім'я класу>: <специфікатор доступу> <ім'я базового класу>
{
елементи класу
<мітка видимості>: <елементи класу>
<мітка видимості>: <елементи класу>
};
Лістинг оголошення класу Kletka:
class Kletka {: Pustaya_kletka, Vistrel, X, Y;: (int x, int y); Vistrel_v_kletku (int vistrel = 1); Vistrel_ili_net (); Korabl_v_kletku (int Pustaya_kletka); Pustaya_ili_net () ; Prorisovka (int sdvX, int sdvY);
}
У даному лістингу всі властивості приховані за допомогою позначки видимості private, так як робота з властивостями здійснюється за допомогою інтерфейсу. Це один з трьох принципів об'єктно-орієнтованого програмування - інкапсуляція. Об'єднання даних з функціями їх обробки в поєднанні зі утаєнням непотрібної для використання цих даних інформації називається інкапсуляцією. Також є конструктор, який ініціалізує початкові дані. Конструктор не вертає значення, навіть типу void, і повинен називатися також як і клас. Конструкторів може бути кілька з різними параметрами. p align="justify"> Лістинг оголошення класу Base_Korabl:
class Base_Korabl {: Color;: _Korabl (); Prorisovka (short x, short y);
}
У цьому лістингу в похідному класі був перевизначений метод Prorisovka () для промальовування кораблів різного розміру. Цей принцип об'єктно-орієнтованого програмування називається поліморфізмом - можливістю використовувати в різних класах ієрархії одне ім'я для позначення подібних за змістом дій і гнучко вибирати потрібну дію під час виконання програми. p align="justify"> Лістинг оголошення класу Kor_potomok:
class Kor_potomok: Base_Korabl {Razmer, X, Y, Polojenie, KOL_RANENIY;: _potomok (short Razmer, short x, short y, short Polojenie); Prorisovka (int sdvX, int sdvY); Vistrel ( int x, int y); Ranenie (); Vistrel_v_kletkus (Kletka * kletka [10] [10]); Rasstanovka (Kletka * kletka [10] [10]);
}
Клас Kor_potomok є похідним від класу Bas...