Make the enemy a subclass of an entity object, that other entity objects can then inherit from.
Use smart pointers in your vectors, the standard library has shared pointer you can use (shared_ptr). This way objects don't have to be copied everywhere.
class Entity
{
std::shared_ptr<Drawable> drawable;
public:
Entity(const std::shared_ptr<Drawable>& drawable);
};
class Enemy : Entity
{
public:
};
Now that you have separated your drawable class from your entity class you can change how an enemy is drawn simply by passing it a different drawable. Whenever the enemy moves or changes in any other way, it updates its corresponding drawable object. This may seem like extra work but in the end it is a much better design and will let your code be much more flexible and your project can continue to grow without coming apart at the seams.

Find content
Not Telling