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