Well in this discussion there is a few things that are mixed up
C++ is a programming language like Basic, Visual Basic (or Visual C++ for that sake) is a term for a Integrated Developers Environment (IDE) for a programming language.
In a Visual environment you do not "type code to create a button". From a menu you pick a button, a check box, a progress bar (these are normally called Control Element collectively) or a Database Connection for that sake. Then the IDE creates the code that implements the control. This makes the programmer tenfold more efficient.
So? Basically there are no difference in C++ and Visual C++ in terms of code features, syntax and reserved key words like >>class, private, public<< and fifty other expressions. Both "types" of C++ rely on a set of standard classes witch implement much of the Windows GUI elements. In Microsoft Visual Studio for C++, this is called Microsoft Foundation Classes ? MFC. You will find a lot of MFC-something.DLL files in C:\Windows\System32 folder. Those called MFC42*.dll are version 4.2 and you also find version 7.1 MFC files.
The same can be said about Visual Basic 6.0.
C++ lets the programmer exert full control over all aspects of the code execution. Given that the programmer has enough expertise and skills, the application can be optimized in many ways. One important feature in C++ is the garbage collector. This can be called to discard old used objects and data structures.
In the not Net Framework the garbage collector is run more or less automatically ? like in Java.
But in many ways the dot Net Framework (with is more than a MFC for dot Net) is much more advanced than the Visual C++ in terms of making the programmer efficient.
Kind Regards
MBorik