GUI programming as in buttons and text fields? You will probably get a lot more help if you ask in the Windows or Unix boards, as this is very platform-specific.
When your program uses a GUI, it launches in a different way. Instead of starting from main and executing a string of instructions until it closes, it may have several starting functions, which are called when the user does something to the GUI. For example, clicking a button may cause a specific function to be called. What happens from there is up to the program, although it is usually expected that the functions will finish quickly so that the user can click on more buttons or whatever.
Most GUI programming required you to develop an event-driven mind-set. That is, instead of assuming the program will execute from line 1 source code to the end of the file, your callback function,event triggered function etc are only executing when user click,tap,etc on a widget,control that has a function 'tied' to it.
Above is for normal GUI control and then you still have animation, shader, gradient etc which are more graphics related etc stuff.
There are also cross-platform GUI approaches like Qt (can be used both in win and Unix).
I haven't try a lot to be sincere so my opinion is biased but to me it seems quite promising. It also has very good documentation (that is something you definitely want).
I cant help it but to quote this. I laughed IRL.
Are you saying, that you are able to write a C++ program which entry point will NOT be main function?
I would LOVE to see that.
A program shall contain a global function called main, which is the designated start of the program.
Sorry, not possible :)
On topic:
If you are using windows, Microsoft - Programming Windows API 5th edition by Charles Petzold is a nice book.
If you are aiming to create a game, SFML is nice library.
You probably shouldnt try this before you learn more syntax.