нашого об'єкта, тобто звільнити пам'ять у купі. p align="justify"> Деструкція, як і конструктор, не повинен повертати значення і мати явний опис типу. На відміну від конструкторів, яких може бути кілька у одного і того ж класу, деструктор повинен бути один і не повинен мати аргументів. (Const Vector & A) називається конструктором копій. Він використовується при створенні об'єкта з ініціалізацією його об'єктом того ж типу. p align="justify"> Крім того, конструктор копії використовується при ініціалізації формального параметра функції у разі передачі їй об'єкта за значенням, і при поверненні об'єкта з функції по оператору return. При передачі посилань і покажчиків конструктор копії не використовується. p align="justify"> Неявний конструктор копії забезпечує просте поелементне копіювання одного об'єкта в другій. Такий вид копіювання часто називають поверхневим. br/>
.2 Перевантаження операцій
Більшість операцій мови С + + для нових типів даних може бути перевантажено. Для перевантаження операції необхідно створити функцію з назвою, що складається з ключового слова operator і знака перевантажується операції. Кількість параметрів цієї функції визначається тим, одномісна або двомісна операція перевантажується, а також наявністю неявних елементів у методів класу. p align="justify"> Перевантаження операцій передбачає введення в мову двох взаємопов'язаних особливостей: можливості оголошувати в одній області видимості кілька процедур або функцій з однаковими іменами і можливості описувати власні реалізації операцій.
Наприклад, щоб перевантажити оператор додавання, потрібно визначити функцію з ім'ям operator +.
Операторні функції перевантажених операторів, за винятком new і delete, повинні підкорятися наступним правилам:
операторна функція повинна бути або нестатичних функцією-членом класу, або приймати аргумент типу класу або перечислимого типу, або аргумент, який є посиланням на тип класу або перелічувальний тип;
операторна функція не може змінювати число аргументів чи пріоритети операторів та порядок їх виконання в порівнянні з використанням соответствующео оператора для вбудованих типів даних;
операторна функція Унарні оператора, оголошена як функція-член, не повинна мати параметрів; якщо ж вона оголошена як глобальна функція, вона повинна мати один параметр;
операторна функція не може мати параметри за замовчуванням і ін
.3 Дружні функції
Згідно концепції інкапсуляції даних С + + функція, яка не є членом класу, не може отримати доступ до його закритим (private) елементам. У мові С + + реалізована можливість обійти це обмеження за допомогою друзів. С + + дозволяє оголосити 2 види друзів класу: дружню функцію або дружній клас. Дружні функції не є члена...