Новий урок!
"Урок №142. Перевантаження операторів через методи класу" - https://acode.com.ua/urok-142-perevantazhennya-operatoriv-cherez-metody-klasu/
Рубрика "Уроки по С++"
"Урок №142. Перевантаження операторів через методи класу" - https://acode.com.ua/urok-142-perevantazhennya-operatoriv-cherez-metody-klasu/
Рубрика "Уроки по С++"
aCode
Перевантаження операторів через методи класу в С++ / aCode
Перевантаження операторів через методи класу дуже схоже на перевантаження операторів через дружні функції. Але при перевантаженні оператора через метод класу лівим операндом стає неявний об'єкт, на який вказує прихований вказівник *this.
Новий урок!
"Урок №143. Перевантаження унарних операторів +, – і логічного НЕ" - https://acode.com.ua/urok-143-perevantazhennya-unarnyh-operatoriv-i-logichnogo-ne/
Рубрика "Уроки по С++"
"Урок №143. Перевантаження унарних операторів +, – і логічного НЕ" - https://acode.com.ua/urok-143-perevantazhennya-unarnyh-operatoriv-i-logichnogo-ne/
Рубрика "Уроки по С++"
aCode
Перевантаження унарних операторів +, - і логічного НЕ в С++ / aCode
Розглянемо унарні оператори плюс (+), мінус (-) і логічне НЕ (!), які працюють з одним операндом. Так як вони застосовуються тільки до одного об'єкту, то їх перевантаження слід виконувати через методи класу.
Новий урок!
"Урок №144. Перевантаження операторів порівняння" - https://acode.com.ua/urok-144-perevantazhennya-operatoriv-porivnyannya/
Рубрика "Уроки по С++"
"Урок №144. Перевантаження операторів порівняння" - https://acode.com.ua/urok-144-perevantazhennya-operatoriv-porivnyannya/
Рубрика "Уроки по С++"
aCode
Перевантаження операторів порівняння в С++ / aCode
Принципи перевантаження операторів порівняння ті ж, що і в перевантаженні інших операторів, які ми розглядали на попередніх уроках. Оскільки всі оператори порівняння є бінарними і не змінюють свої ліві операнди, то виконувати перевантаження потрібно через…
Новий урок!
"Урок №145. Перевантаження операторів інкременту і декременту" - https://acode.com.ua/urok-145-perevantazhennya-operatoriv-inkrementu-i-dekrementu/
Рубрика "Уроки по С++"
"Урок №145. Перевантаження операторів інкременту і декременту" - https://acode.com.ua/urok-145-perevantazhennya-operatoriv-inkrementu-i-dekrementu/
Рубрика "Уроки по С++"
aCode
Перевантаження операторів інкременту та декременту в С++ / aCode
Перевантаження операторів інкременту (++) та декременту (−−) досить-таки просте, але з одним маленьким нюансом. Є дві версії операторів інкременту та декременту: версія префікс (наприклад, ++x, --y) і версія постфікс (наприклад, x++, y--).
Новий урок!
"Урок №146. Перевантаження оператора індексації []" - https://acode.com.ua/urok-146-perevantazhennya-operatora-indeksatsiyi/
Рубрика "Уроки по С++"
"Урок №146. Перевантаження оператора індексації []" - https://acode.com.ua/urok-146-perevantazhennya-operatora-indeksatsiyi/
Рубрика "Уроки по С++"
aCode
Перевантаження оператора індексації [] в С++ / aCode
Оператор індексації є одним з операторів, перевантаження якого повинне виконуватися через метод класу. Функція перевантаження оператора [] завжди прийматиме один параметр: значення індексу (елемент масиву, до якого потрібен доступ).
Новий урок!
"Урок №147. Перевантаження оператора ()" - https://acode.com.ua/urok-147-perevantazhennya-operatora/
Рубрика "Уроки по С++"
"Урок №147. Перевантаження оператора ()" - https://acode.com.ua/urok-147-perevantazhennya-operatora/
Рубрика "Уроки по С++"
aCode
Перевантаження оператора () в С++ / aCode
Всі оператори, перевантаження яких ми розглядали дотепер, дозволяли нам самостійно визначати тип параметрів в функції перевантаження оператора, але не їх кількість. Наприклад, оператор == завжди приймає два параметри, тоді як оператор ! завжди приймає один…
Новий урок!
"Урок №148. Перевантаження операцій конвертації типів даних" - https://acode.com.ua/urok-148-perevantazhennya-operatsij-konvertatsiyi-typiv-danyh/
Рубрика "Уроки по С++"
"Урок №148. Перевантаження операцій конвертації типів даних" - https://acode.com.ua/urok-148-perevantazhennya-operatsij-konvertatsiyi-typiv-danyh/
Рубрика "Уроки по С++"
aCode
Перевантаження операцій конвертації типів даних в С++ / aCode
Як ми вже знаємо з уроку про неявну конвертацію типів даних, C++ дозволяє конвертувати значення з одного типу даних в інший.
Новий урок!
"Урок №149. Конструктор копіювання" - https://acode.com.ua/urok-149-konstruktor-kopiyuvannya/
Рубрика "Уроки по С++"
"Урок №149. Конструктор копіювання" - https://acode.com.ua/urok-149-konstruktor-kopiyuvannya/
Рубрика "Уроки по С++"
aCode
Конструктор копіювання в С++ / aCode
Конструктор копіювання — це особливий тип конструктора, який використовується для створення нового об'єкта через копіювання існуючого. І, як у випадку з конструктором за замовчуванням, якщо ви не надасте конструктор копіювання для своїх класів самостійно…
Новий урок!
"Урок №150. Копіююча ініціалізація" - https://acode.com.ua/urok-150-kopiyuyucha-initsializatsiya/
Рубрика "Уроки по С++"
"Урок №150. Копіююча ініціалізація" - https://acode.com.ua/urok-150-kopiyuyucha-initsializatsiya/
Рубрика "Уроки по С++"
aCode
Копіююча ініціалізація в С++ / aCode
Зі звичайними змінними все просто. Однак з класами справи йдуть трохи складніше, оскільки в їх ініціалізації використовуються конструктори. На цьому уроці ми розглянемо використання копіюючої ініціалізації з класами.
Новий урок!
"Урок №151. Конструктори конвертації, ключові слова explicit і delete" - https://acode.com.ua/urok-151-konstruktory-konvertatsiyi-klyuchovi-slova-explicit-i-delete/
Рубрика "Уроки по С++"
"Урок №151. Конструктори конвертації, ключові слова explicit і delete" - https://acode.com.ua/urok-151-konstruktory-konvertatsiyi-klyuchovi-slova-explicit-i-delete/
Рубрика "Уроки по С++"
aCode
Конструктори конвертації, ключові слова explicit і delete в С++ / Уроки по С++ / aCode
Конструктори, які використовуються в неявних конвертаціях, називаються конструкторами конвертації (або "конструкторами перетворення"). До C++11 конструкторами конвертації могли бути конструктори тільки з одним параметром. Однак в C++11 це обмеження було знято…
Новий урок!
"Урок №152. Перевантаження оператора присвоювання" - https://acode.com.ua/urok-152-perevantazhennya-operatora-prysvoyuvannya/
Рубрика "Уроки по С++"
"Урок №152. Перевантаження оператора присвоювання" - https://acode.com.ua/urok-152-perevantazhennya-operatora-prysvoyuvannya/
Рубрика "Уроки по С++"
aCode
Перевантаження оператора присвоювання в С++ / aCode
Оператор присвоювання (=) використовується для копіювання значень з одного об'єкту в інший (вже існуючий) об'єкт.
Новий урок!
"Урок №153. Поверхневе і глибоке копіювання" - https://acode.com.ua/urok-153-poverhneve-i-glyboke-kopiyuvannya/
Рубрика "Уроки по С++"
"Урок №153. Поверхневе і глибоке копіювання" - https://acode.com.ua/urok-153-poverhneve-i-glyboke-kopiyuvannya/
Рубрика "Уроки по С++"
aCode
Поверхневе і глибоке копіювання в С++ / aCode
Оскільки мова C++ не може знати наперед все про ваш клас, то конструктор копіювання і оператор присвоювання, які C++ надає за замовчуванням, використовують почленний метод копіювання — поверхневе копіювання.
Новий урок!
"Розділ №9. Підсумковий тест" - https://acode.com.ua/rozdil-9-pidsumkovyj-test/
Рубрика "Уроки по С++"
"Розділ №9. Підсумковий тест" - https://acode.com.ua/rozdil-9-pidsumkovyj-test/
Рубрика "Уроки по С++"
aCode
Розділ №9. Підсумковий тест / Уроки по С++ / aCode
У цьому розділі ми розглянули перевантаження операторів, перевантаження операцій конвертації типів даних, а також кілька тем, пов'язаних з конструктором копіювання. Пора закріпити отримані знання.
Новий урок!
"Урок №154. Типи зв’язків між об’єктами" - https://acode.com.ua/urok-154-typy-zv-yazkiv-mizh-ob-yektamy/
Рубрика "Уроки по С++"
"Урок №154. Типи зв’язків між об’єктами" - https://acode.com.ua/urok-154-typy-zv-yazkiv-mizh-ob-yektamy/
Рубрика "Уроки по С++"
aCode
Типи зв'язків між об'єктами в С++ / aCode
Аналогічно, в програмуванні також багато повторюваних шаблонів, відносин і ієрархій. Зокрема, коли мова заходить про об'єкти в програмуванні, то ті ж шаблони, якими ми керуємося по відношенню до об'єктів в реальному житті, можна застосувати й до об'єктів…
Новий урок!
"Урок №155. Композиція об’єктів" - https://acode.com.ua/urok-155-kompozytsiya-ob-yektiv/
Рубрика "Уроки по С++"
"Урок №155. Композиція об’єктів" - https://acode.com.ua/urok-155-kompozytsiya-ob-yektiv/
Рубрика "Уроки по С++"
aCode
Композиція об'єктів в С++ / aCode
У реальному житті складні об'єкти часто складаються з менших, більш простих об'єктів. Наприклад, автомобіль складається з металевої рами, двигуна, 4-х коліс, коробки передач, керма та великої кількості інших деталей. Персональний комп'ютер складається з центрального…
Новий урок!
"Урок №156. Агрегація" - https://acode.com.ua/urok-156-agregatsiya/
Рубрика "Уроки по С++"
"Урок №156. Агрегація" - https://acode.com.ua/urok-156-agregatsiya/
Рубрика "Уроки по С++"
aCode
Агрегація в С++ / aCode
На уроці про композицію ми говорили, що композиція об'єкта — це процес створення складних об'єктів з простіших. Ми також говорили про підтип композиції об'єктів — композицію. У відносинах всередині композиції ціле (клас) несе відповідальність за існування…
Новий урок!
"Урок №157. Асоціація" - https://acode.com.ua/urok-157-asotsiatsiya/
Рубрика "Уроки по С++"
"Урок №157. Асоціація" - https://acode.com.ua/urok-157-asotsiatsiya/
Рубрика "Уроки по С++"
aCode
Асоціація в С++ / aCode
На цьому уроці ми розглянемо наступний тип відносин між двома незв'язаними об'єктами — асоціацію. На відміну від композиції об'єктів, в асоціації немає відносин "частин-цілого".
Новий урок!
"Урок №158. Залежність" - https://acode.com.ua/urok-158-zalezhnist/
Рубрика "Уроки по С++"
"Урок №158. Залежність" - https://acode.com.ua/urok-158-zalezhnist/
Рубрика "Уроки по С++"
aCode
Залежність в С++ / aCode
Залежність виникає, коли один об'єкт звертається до функціоналу іншого об'єкта для виконання певного завдання. Ці відносини є слабкішими за відносини в асоціації, але все ж будь-яка зміна об'єкту, який надає свій функціонал залежному об'єкту, може стати причиною…
Новий урок!
"Урок №159. Контейнерні класи" - https://acode.com.ua/urok-159-kontejnerni-klasy/
Рубрика "Уроки по С++"
"Урок №159. Контейнерні класи" - https://acode.com.ua/urok-159-kontejnerni-klasy/
Рубрика "Уроки по С++"
aCode
Контейнерні класи в С++ / aCode
Контейнерний клас (або "клас-контейнер") в мові C++ — це клас, призначений для зберігання і організації декількох об'єктів певного типу даних (користувацьких чи фундаментальних). Існує багато різних контейнерних класів, кожен з яких має свої переваги, недоліки…
Новий урок!
"Урок №160. Список ініціалізації std::initializer_list" - https://acode.com.ua/urok-160-spysok-initsializatsiyi-std-initializer_list/
Рубрика "Уроки по С++"
"Урок №160. Список ініціалізації std::initializer_list" - https://acode.com.ua/urok-160-spysok-initsializatsiyi-std-initializer_list/
Рубрика "Уроки по С++"
aCode
Список ініціалізації std::initializer_list в С++ / aCode
Є кілька речей, які потрібно знати про std::initializer_list. Так само, як і з std::array і std::vector, ви повинні вказати в кутових дужках std::initializer_list який тип даних буде використовуватися. З цієї причини ви ніколи не побачите порожній std::i…