can anyone tell me
This is a discussion on what is MFC ? (i am a newbie ... ) within the C++ Programming forums, part of the General Programming Boards category; can anyone tell me...
can anyone tell me
blow me ... ...
It's a windowing API.
C++ is an object-oriented (for the most part) language, which means you can write code that can be reused in different applications (there's a lot of things that make it object oriented, but that's the only relevant one). Since it takes a lot of source code to work with Windows, they wrote an 'API', Application Programming Interface, that gives you a list of functions to work with windows easily. There're several out there, but MFC is just one of them.
Microsoft Foundation Class
Microsoft Foundation Classes, or MFCs, are libraries of classes that can be used as building blocks in creating Windows applications with Visual C++ - note, this means Windows applications as opposed to console applications.
What does this mean? For example, importing a class in a console application using the #include directive would be something like #include <iostream.h> or #include <cstring> or #include <iomanip.h>, etc. When you include an MFC its similar but pertains to Windows apps.
With the MFC, Microsoft wrapped up the Windows API for C++ programmers. In comparison with similar libraries, MFC is notable for its lack of cross-platformness - it's a wrapper around the WinAPI, after all, unlike Qt, which is by design a platform-independent library; it's size and purpose - it not only wraps the windowing stuff like most libraries do, but explicitely supports and guides the programmer towards a particular programming paradigm; it's age - MFC was created before a standard C++ library, RTTI or proper exceptions and templates, and thus emulates all of these within the library; it's focus - it provides a very thin wrapper around the WinAPI in most places, but a very thick and good one in complicated areas, especially COM programming; and finally it's style - lot's of things are done at compile time using macros.
Personally, I don't like it very much. But of course, that's a personal thing. I used to use it, but in the end, I found it too hard to make changes to the program once I was a little into it.
All the buzzt!
"There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code."
- Flon's Law