I've been really busy but managed to get in enough down time to learn somewhat decent info about vectors. Anyways originally my program created a dynamic array of pointers to class objects and I came across a few problems because of this. Apparently an array of pointers is now outta of the question and I will now be switching to a vector of objects instead.

In case anyone is wondering why I want a list of objects instead of pointers this little comment should clear things up.

You assumed wrong. tiles[i]->show() dereferences tiles[i] (i.e. accesses whatever it points at) before calling the show() method. That is undefined behaviour. Once undefined behaviour occurs, there is no recovery, and there is nothing the show() method (or any subsequently called function for that matter) can do to recover (short of invoking their own forms of undefined behaviour - compiler specific hacks, etc). Even if the show() method initialises the object correctly, it cannot change the pointer tiles[i] which is in a different scope (within main()).

What I'm trying to do is create a vector of already intialized objects so that I can use a conditional statement of every single element to properply layer my games art resources. This should also automatically fix a mild unrelated collision dectection problem too but first thing first layering.