Новий урок!
"Урок №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…
Новий урок!
"Розділ №10. Підсумковий тест" - https://acode.com.ua/rozdil-10-pidsumkovyj-test/
Рубрика "Уроки по С++"
"Розділ №10. Підсумковий тест" - https://acode.com.ua/rozdil-10-pidsumkovyj-test/
Рубрика "Уроки по С++"
aCode
Розділ №10. Підсумковий тест / Уроки по С++ / aCode
Цей розділ простіший і абстрактніший за попередні розділи, тому тест буде лаконічним.
Новий урок!
"Урок №161. Введення в Спадкування" - https://acode.com.ua/urok-161-vvedennya-v-spadkuvannya/
Рубрика "Уроки по С++"
"Урок №161. Введення в Спадкування" - https://acode.com.ua/urok-161-vvedennya-v-spadkuvannya/
Рубрика "Уроки по С++"
aCode
Введення в Спадкування в С++ / aCode
На попередніх уроках ми розглянули композицію об'єктів, коли складні класи складаються з простих класів і типів даних. Композиція об'єктів ідеально підходить для створення нових об'єктів, типом відносин яких є «має». Однак композиція об'єктів є лише одним…