ok so i know all there is to know with text programming in c++.
now i need to know how to give my program an interface.
you know, like not using the command prompt any more.:S

The terminology used in programming is something that still baffles me at times. What exactly a C++ interface is is one of those terms.

On the one hand, C++ interface cam mean how the program presents itself to the user, not with whether the program is started from the command prompt or not. The command prompt and/or a console "window" has to do with how the program interacts with the operating system. If you don't want to deal with the command prompt, then I'd suggest getting a copy of an IDE like MS Visual Studio or Code::Blocks, or Dev C++, etc.

On the other hand, C++ interface can mean the header file associated with a class where the class declarations are located as opposed to the cpp files where the class method definitions are usually located. In this way the user of the class doesn't need to worry about the details of how the methods are implemented, they just need to know the syntax of how to use the methods.

Or, yet another possible interpretation of "interface", do you mean you want to start writing full blown "Windows graphical user interface (GUIs)" as opposed to console programs?

> ok so i know all there is to know with text programming in c++.
I doubt that. ;) Writing GUIs isn't the end all be all of C++ programming, and the lion's share of the work is done behind the interface. If you know all there is to know about everything except the GUI interface, that's like saying you know everything there is to know about C++. Edward would go as far as to say that it's impossible to know all there is to know.

> now i need to know how to give my program an interface.
You need to decide how you want to build it. If you're working with Windows, you have three immediate options:

  1. The Win32 API is the base API for Windows and gives you system control, including GUI and drawing. It's old fashioned and low level, but if you know Win32, you can do anything in Windows.
  2. The MFC API is a C++ class wrapper library around the GUI stuff from the Win32 API. The idea is to make writing GUIs easier, but some have questioned the success of that venture. ;) MFC is still somewhat tedious.
  3. The .NET framework is something of a virtual platform surrounding Win32. You can build GUIs with Windows Forms or Windows Presentation Foundation, but they're both slow compared to straight Win32 or MFC, and you have to learn a new dialect--either Managed C++ or the newer and much better sibling, C++/CLI--of C++ to link up with the framework. The plus side is that writing GUIs with .NET is very easy and a great way to get started with event driven programming concepts.

In order of age, you have Win32, MFC, then .NET. Ed's opinion is that you should start with .NET even though it means learning C++/CLI, and then move into Win32 because .NET can't do everything and can connect to Win32. MFC is kind of replaced by .NET, but for performance reasons and to be well rounded you should at least be familiar with how it works.

ok i am using dev-c++
and wut i mean by text programming is i know everything there is to programming only to show text, i guess yess wut i want is to program a gui

This article has been dead for over six months. Start a new discussion instead.