
Originally Posted by
cooper1200
do i not need to understand classes to do gui stuff?
Yes, but that's because most modern GUI work is done with a library in C++, which itself is a collection of classes. You can become the consumer of such a library much more readily than to become the author of classes, and can even gain insight into how to design a collection of classes working toward a particular purpose by using a good GUI library. In other words, this is a bit of a paradox (a chicken/egg paradox).
Your awareness of the struct or class you've used for the linked list is just about enough to use the C++ GUI libraries.
If this is familiar to you:
Code:
MyClass a;
MyClass b;
a.somefunction( 2 );
b.someotherfunction( 2 );
Even though you don't see the class declaration, you probably realize that 'somefunction' must be a member of MyClass, and that whatever MyClass may be, you have an instantiation of it as variable "a", and so somefunction is being called on "a". Likewise, there is a "b" of type MyClass, and yet another member function is called on "b", and that "a" and "b" are two instantiations of MyClass.
If that is what you understand, you're able to use the GUI libraries for simple GUI applications.
Qt is rather popular, but I can recommend WxWidgets as a good alternative that is completely free.
There are others, but in the 21st century these are the top two. Microsoft provided one called "MFC" for decades, but it is all but entirely limited to Windows (there was a MAC version for a few years, but it died). However, in the modern era it makes no sense to make an application that can only run on Windows, when simply choosing either Qt or WxWidgets is the same basic work, but the product runs on Windows, Linux and MAC.
I am, however, referring to simple applications. For all higher targets of ambition, of course, you'll need to know more about designing classes and structs, using the STL, smart pointers, strings and the standard library.
The one thing that can get in the way is downloading, installing and the initial building of the GUI library. There are instructions, and if followed precisely, and if you're using a compiler/IDE the library says is supported, you're soon running one of the example programs.