What I want to do is that I have a list std::list<Displayable> display_queue
Displayable being defined in Displayable.h as:
class Displayable { 
    public:
        int x, y;
        Displayable() : x(0), y(0) {}
        Displayable(int x, int y) : x(x), y(y) {}
};
and DifferentDisplayable as:
class DifferentDisplayable : public Displayable { 
    public:
        std::string id;
        DifferentDisplayable() : Displayable(), id("") {}
        DifferentDisplayable(int x, int y) : Displayable(x, y), id("") {}
        DifferentDisplayable(int x, int y, std::string id) : Displayable(x, y), id(id) {} 
};
The items added to the list is:
Displayable disp_one;
DifferentDisplayable disp_two(10, 10, "the id");
display_queue.push_back(disp);
display_queue.push_back(disp_two);
Since DifferentDisplayable is derived from Displayable it is able to be stored in the list but what I can't figure out is how can I or can I even access std::string id in DifferentDisplayable when iterating through the list (display_queue) like so:
for (std::list<Displayable>::iterator i = display_queue.begin(); i != display_queue.end(); i++) {
    // insert code here
}
Thanks in advance for any answers
 
     
    