C++ doesn't provide Graphical User Interface (GUI) programming out of the box. First, we should understand that a GUI is strongly tied to a specific Operating System(OS). You can program GUI applications in Windows using the Windows API, or in Linux using the Linux-specific API, and so on. Each OS has its own specific forms of Windows and GUI components.
We touched on the different platforms and their differences in Chapter 1, Building C++ Applications. When discussing GUI programming, the difference between platforms is even more daunting. Cross-platform development had become a big pain in GUI developer's lives. They had to focus on a specific OS. Implementing the same application for other platforms took almost the same amount of work again. That's an unreasonably huge waste of time and resources. Languages such as Java provide...