#pragma once class Enemy { private: Enemy() = default; virtual ~Enemy() = default; friend class EnemyFactory; };