C++ is the language, anybody can implement a compiler based on the specification. Visual C++ is a development suite and set of compilers for C++ code, with helpers that also makes it easier to develop programs that use the win32 API.
Visual C++ is the implementation of C++ compiler and IDE by Microsoft. There are many other implementations both for Windows and other OSes (Borland C++ Builder, Watcom C, Intel C++, GCC, ..). So C++ is just a programming language based on Ansi C with many implemenations with different product names.
By VC++ we can develope the MFC,ATL and COM application but as far as pure C++ is concerned it used for console application . VC++ is using WIN32 API although both following OOPs concept
Actually, pure C++ can be used to write GUI apps, not just console types. Using the Platform SDK, you can write a Windows application with no MFC. Not that it would be fun, but that is how it's done old school style.
C++ in itself is a general purpose high level programming language so I do not think we can set up Microsoft Visual C++ versus C++.. That said, there are differences between the different C++ versions, more than we can enumerate here. (And a lot more than I know ) The differences often actually concerns the standard template library more than the language itself. You can e.g. not necessarily expect the same behaviour from a program compiled with Visual C++ 7 or Visual C++ 8, even though they were compiled from the same source code. Ideally all the compilers should support one of the ISO C++ standards, which in theory would mean that there would be no differences between two compilers following the same standard. To my knowlege there exists few or none compilers that does fully support the latest standards. Still it is possible to write programs that compile equally well on windows (e.g. with MSVC8) and on Linux (e.g. using GCC 3.3.5).
MS visual c++ is c++ that has a framework (mfc). while ms visual c++ 2005 is no longer mfc but uses .net framework (which is also known as "managed c++")
You can perfectly well still write unmanaged C++ or even MFC applications using MSVC 2005. There are no wizard support for it, but still possible.