diff --git a/src/Library/AttackLibrary.hpp b/src/Library/AttackLibrary.hpp index eb76230..1ea6733 100644 --- a/src/Library/AttackLibrary.hpp +++ b/src/Library/AttackLibrary.hpp @@ -14,7 +14,7 @@ namespace CreatureLib::Library { AttackLibrary(size_t initialCapacity = 32) : _attacks(std::unordered_map(initialCapacity)){}; - ~AttackLibrary() { + virtual ~AttackLibrary() { for (auto attack : _attacks) { delete attack.second; } diff --git a/src/Library/GrowthRates/GrowthRateLibrary.hpp b/src/Library/GrowthRates/GrowthRateLibrary.hpp index 1d4b6c6..4092e66 100644 --- a/src/Library/GrowthRates/GrowthRateLibrary.hpp +++ b/src/Library/GrowthRates/GrowthRateLibrary.hpp @@ -15,7 +15,7 @@ namespace CreatureLib::Library { GrowthRateLibrary(size_t initialCapacity = 10) : _growthRates(std::unordered_map(initialCapacity)) {} - ~GrowthRateLibrary() { + virtual ~GrowthRateLibrary() { for (auto gr : _growthRates) { delete gr.second; } diff --git a/src/Library/ItemLibrary.hpp b/src/Library/ItemLibrary.hpp index 5b530e5..b4e1d03 100644 --- a/src/Library/ItemLibrary.hpp +++ b/src/Library/ItemLibrary.hpp @@ -13,7 +13,7 @@ namespace CreatureLib::Library { public: ItemLibrary(size_t initialCapacity = 32) : _items(std::unordered_map(initialCapacity)){}; - ~ItemLibrary() { _items.clear(); } + virtual ~ItemLibrary() { _items.clear(); } [[nodiscard]] const Item* GetItem(const std::string& name) const; [[nodiscard]] const Item* operator[](const std::string& name) const; diff --git a/src/Library/SpeciesLibrary.hpp b/src/Library/SpeciesLibrary.hpp index 1658338..b6a2866 100644 --- a/src/Library/SpeciesLibrary.hpp +++ b/src/Library/SpeciesLibrary.hpp @@ -14,7 +14,7 @@ namespace CreatureLib::Library { SpeciesLibrary(size_t initialCapacity = 32) : _species(std::unordered_map(initialCapacity)){}; - ~SpeciesLibrary() { + virtual ~SpeciesLibrary() { for (auto s : _species) delete s.second; _species.clear();