These are the kinds of questions I love.
You may gain some info on this issue from reading this ...
http://www.jose.it-berater.org/smfforum/index.php?topic=3389.0
The above is something of a tutorial I wrote on SDK style Windows Programming using C and C++.
cout and iostream will be of less use to you in Graphical User Interface (GUI) coding than in console mode programming - largely because of the meaning of the 'c' character of 'cout', i.e., an abbreviation for 'console'. I really doubt that your main interest in learning GUI coding is to continue using the console. You have to realize that in moving on to GUI coding you are moving into a brave new world where some old friends such as the console might be left behind. Having said that, sometimes the console is useful for debugging and other purposes in GUI programs, and in those cases is just an AllocConsole() Api call away.
I consider myself a C++ coder and I use classes and templates a lot. However, the underlying GUI framework of my apps is pretty close to standard SDK C style. After all, C is a subset of C++. So I wouldn't consider the problem exactly as 'going backwards'.
You will run into issues however. It has been my experience in looking over a number of C++ books and in interacting with new C++ coders who haven't come to the language byway of C, that a lot of new C++ coders atre weak with the concept of function pointers. These are used heavily in the raw Win32/64 Api, and if you don't have a good understanding of them it may seem quite mysterious. The reason for this I expect is that the class mechanism of C++ is such that it absracts away the need for function pointers which were used heavily in C in various contexts.
Another issue I have seen with C++ coders in their first contact with the Windows Api is their failure to recognize that the Windows Api is a very good example of Object Oriented Programming, albiet done in C. What many or most seem wont to do is wrap it up in C++ Class machinery so it looks more familiar to them, and what that ends up doing is creating another layer of encapsulation/abstraction that adds zero to the functionality of what they are doing; it creates bugs; and it doubles or triples the executable program size. What you need to keep in mind is that OOP is a methodology - not a programming language. C++ is but one specific implementation of the general concept.