What you listed are data structures, and can be studied/taught in almost any language. For the most part, if you google a particular data structure (or look it up on wikipedia) you can find a pretty good description of how it works, and perhaps an implementation.
Concepts that appear more specifically in C++ might be, say, the use of pointers, multiple inheritance, and templates (see also:
Template metaprogramming). These are more language specific, but
do show up in other languages as well. Again, you can google or otherwise look around and find information on them.