What parent classes should I use?

That’s not correct though, because you can create a component in a C++ class, so a tile could be a component instead of an Actor. I have also considered whether everything other than a level should be an object that holds data about placement and arrays of contents and the only actor is the tile itself.