I asked myself this question a year ago or so. The C++ standard doesn't provide GUI support. However there are projects out there such as Qt http://qt.nokia.com/products/ or Wt (pronounced ``Witty'') http://www.webtoolkit.eu/wt that are basically C++ libraries that provide this support.
Qt is the best that I have found for C++, it has excellent help resources and a great UI called Qt Creator with a large variety of Widgets that one can drag and drop onto a form (which is basically an XML file used to generate your UI). You can then code the implementation and/or use signals and slots to implement the functionality of your widgets. Its intimidating at first but one can pick up the basic concepts quickly (see, e.g., for some good online tutorials on Qt http://www.youtube.com/user/VoidRealms#p/u/156/qeN-_PhgdKQ).
But then why do you want to create GUI C++ applications? If you want to make web applications, then the portability of Java Applets/Servlets and the in-built support of Java Swing is far more commonplace and easier to use. Also, one can insert java applets into an web page with just one line of html!
The Qt SDK should have everything you need. Whether it's "plain" C++ or not - I doubt it. It would probably use different routines for drawing & stuff depending on the particular platform.
KyleFYI. I am also trying to get a job in software engineering, currently being a physicist.
C++ is an excellent language to learn. It is very large, but gives you a large amount of control to do what you want. However, it is inevitable that you will need to do something with the web, and for that I would learn Java, which is easy to learn once you know C++, including Swing, as well as a scripting language such as PHP.
Qt is basically a C++ library, but as I said above, I know it uses XML to generate the form (you can view this by double clicking on the .ui file in Qt Creator). Qt is an excellent package, it is portable between Windows and Linux and Mac (after recompiling) but, as far as I know, is not used nearly as much as UI development libraries such as Swing. So, if you have a lot of time, yeah Qt is great, but if you are operating on limited time, I would certainly learn Java and Swing first.
It all depends on what kind of job you want to get. Personally, given my background, I am trying to get a job in algorithm design and CAD development. C++ is essential for that, but since I want to get my stuff on the web and leave my options open I am learning/using Java, Swing and PHP.
However, it is inevitable that you will need to do something with the web
I've been paid to code (amongst other things) for a decade and have not yet found need to do anything with the web. The web is a small piece of the programming universe, so don't feel obliged to learn how to code for it :)
yes, of course, it is true that there are many programming jobs that don't involve anything involving web programming, especially if you are considering jobs that started a decade ago.
However, for someone trying to get a coding job that involves UI development nowadays, I think its prudent that one should have some experience in coding in fully portable languages such as Java, which conveniently has a powerful UI development toolkit built into it.
Also, the context of my statement about the web wasn't just restricted to professional work. An excellent way to get your stuff out there for job hunters to see is to publish it on the web. If your talking UI, then C++ isn't a good place to start.
Therefore, my advice to KyleFYI is to learn both C++, for learning how to code properly, then Java and Swing for UI development so that he can easily demonstrate his coding ability to job hunters in preparation for interviews.
KyleFYI, there are a large number of online recruiters out there as I'm sure you know. It is a good idea to look at the jobs you would like to get, see what skills they require and try to acquire those skills.
Then, it might be a good idea to setup a website (need web programming skills for that) with your CV and links to pages demonstrating some of your code. If its C++ console apps, then links to the code and screenshots demonstrating its functionality, or if its java/swing then links to pages incorporating your Java Applets.