The way objects are usually called is with the objects name and then call a function from the class.(Original post by INTit)
It's a class with a templated, overloaded '<' operator which allows access to the output stream. Ok maybe there's a good reason tutorials don't go into too much detail explaining cout lol.
Putting the cout object as a template stops you from having to put the object name and then calling the function to make this work, allowing you to just use the word cout and not having to call it from a object reference if that makes any sense? As far as I understand this of course.
Come and get some inspiration.