#pragma once #include "String.h" class Object { private: String name; String description; public: void set_name(const String & name); const String & get_name() const; virtual const String & get_displayname() const; void set_description(const String & description); const String & get_description() const; void set_hidden(bool hidden); bool get_hidden(); protected: friend class ObjectFactory; Object(const String & name, const String & description); public: virtual ~Object() = default; protected: bool hidden = false; };