#pragma once #include #include "entry.h" #include namespace entry { class Item : public Entry { public: static std::shared_ptr create(const nlohmann::json& data); virtual ~Item() {} }; class Substantial { public: virtual int getCost(void) const = 0; virtual double getWeight(void) const = 0; std::string getText() const; virtual ~Substantial() {} }; }