9#ifndef ABSTRACT_COLLECTION_HPP
10#define ABSTRACT_COLLECTION_HPP
12#include <nlohmann/json.hpp>
55 std::string
getId() const noexcept {
return m_id; }
61 std::string
getName() const noexcept {
return m_name; }
67 virtual void setId(std::string_view newId)
noexcept { m_id = newId; }
73 void setName(std::string_view newName)
noexcept { m_name = newName; }
96 virtual bool search(
const std::string& keyword)
const = 0;
Абстрактний базовий клас, що визначає інтерфейс для роботи з колекціями
Definition AbstractCollection.hpp:30
std::string getName() const noexcept
Отримує назву колекції
Definition AbstractCollection.hpp:61
void setName(std::string_view newName) noexcept
Встановлює нову назву колекції
Definition AbstractCollection.hpp:73
virtual ~AbstractCollection()=default
Віртуальний деструктор
virtual void setId(std::string_view newId) noexcept
Встановлює новий ідентифікатор колекції
Definition AbstractCollection.hpp:67
virtual double calculateStat() const =0
Обчислює статистичні показники колекції
virtual void display() const =0
Відображає повну інформацію про колекцію
std::string getId() const noexcept
Отримує унікальний ідентифікатор колекції
Definition AbstractCollection.hpp:55
AbstractCollection(std::string_view id, std::string_view name)
Конструктор з параметрами
Definition AbstractCollection.hpp:43
virtual bool search(const std::string &keyword) const =0
Виконує пошук у колекції за ключовим словом