Репозиторій містить колекцію навчальних прикладів та реалізацій базових структур даних і концепцій об'єктно-орієнтованого програмування (ООП) мовою C++.
Репозиторій охоплює ключові теми курсу об'єктно-орієнтованого програмування:
-
Базові класи та ООП концепції:
- Инкапсуляція, успадкування та поліморфізм.
- Конструктори, деструктори та копіювання.
- Перевантаження операторів (
operator+,operator=,operator++тощо).
-
Структури даних:
SinglyLinkedList— однозв'язний список із методами додавання, видалення, злиття та клонування.- Інші кастомні динамічні структури (динамічні масиви, стеки, черги).
-
Шаблони та робота з пам'яттю:
- Шаблонні класи (Templates).
- Управління динамічною пам'яттю та робота з вказівниками.
Для компіляції та запуску прикладів потрібен компілятор C++ із підтримкою стандарту C++17 або новішого (g++, clang або MSVC).
# Клонування репозиторію
git clone https://github.com/sunmeat/oop.git
cd oop
# Компіляція вибраного прикладу
g++ -std=c++17 -Wall main.cpp -o oop_example
# Запуск
./oop_example#include <iostream>
#include "SinglyLinkedList.h"
int main() {
SinglyLinkedList list1;
list1.AddToHead(10);
list1.AddToHead(20);
SinglyLinkedList list2;
list2.AddToHead(30);
// Використання перевантажених операторів
SinglyLinkedList mergedList = list1.MergeWith(list2);
return 0;
}- GitHub: @sunmeat
- Підтримка: Monobank Jar