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