Is it possible to use STL containers in a class's header file? Meaning, can I declare and then construct say, a queue in a class I am writing? How would I make sure that #include <queue> doesn't appear multiple times?
Yes, you can. You don't need to make sure includes only appear once, because they all have include guards. Your headers have include guards too. Right?
Because, like everything in the Standard Template Library, queue is in the std namespace, meaning you must either write std::queue, or put using namespace std; or using std::queue; at the top.