What Is Microsoft Visual C++?

by Brian Jung

C++ emerged in the 1980s as an object-oriented extension of the C programming language. Object orientation made code easier to reuse and solutions became easier to segment so that multiple programmers can work simultaneously on projects. Visual C++, developed by Microsoft, takes the C++ language and adds a Windows-based Integrated Development Environment (IDE) and a set of classes, called Microsoft Foundation Classes (MFC), which allow C++ developers to manipulate elements in the Windows operating system.


C++ grew out of the C language, which in turn was a descendant of an extended B language, developed at Bell laboratories in 1971. C, restructured and with a stronger compiler, became the dominant language in the Unix development world. Ninety percent of Unix was written in C. In 1985, Bjarne Soustrup rewrote the C language, creating C++, to introduce object-oriented concepts that had been explored in other languages. In the 1990s, Microsoft became involved, developing first the Microsoft C/C++ compiler, followed by various versions of Visual C++.

Object-Oriented Programming

While procedural languages organize code as a list of tasks to be carried out by the processor in a particular order, object-oriented languages like C++ organize code into distinct objects, each having its own properties and methods. One advantage of object-oriented programming is that it allows code that can describe real world objects. A BankAccount object, for instance, could have properties of "Balance" and "AccountHolder" and could include methods of "Deposit" and "Withdraw."

Microsoft Foundation Classes

The Microsoft Foundation Classes are at the center of Visual C++ programming for Windows. The MFC is a group of objects and methods that allow the programmer to manipulate the Windows environment (opening and closing windows, drawing content within windows, creating menus) and to react to a Windows user's input (mouse clicks, mouse movement, key presses, menu selections). Because most of Windows programming is centered around reaction to user inputs through the Windows user interface, it is said to be "event-driven." Much of the MFC simply gives programmers ways of hooking in to Windows-initiated events.

The Integrated Development Environment

C++, like most other programming languages, can be written out as text in a simple text editor. The text can then be "compiled" (turned into binary code) by a command-line initiated process. The introduction of Integrated Development Environments allows developers to navigate their code much more efficiently through menus that will take them to specific objects and methods. Other features of the Visual C++ and Visual Studio development environments include auto complete, which aids in typing code, visual design, which allow graphical elements of a program to be generated through drag and drop, and test suites for testing processes within an application.

C++ Versus other Languages

Programmers often debate what the best language and tools are for a given project and task. Compared to other object-oriented languages such as Java, C#, objective C or Python, C++ is usually considered the most difficult to learn and time-consuming to code, but will, in the right hands, result in the best performing application. Such claims, however, are often disputed.

About the Author

Brian Jung has been writing professionally since 1991. Currently he works as a software developer for University Hospitals in Cleveland, Ohio, where he also contributes reviews and commentary on children's and young adult literature to his own blog, Critique de Mr Chompchomp, and to Guys Lit Wire. Brian holds a Doctor of Philosophy in English from the University of Wisconsin, Milwaukee.

More Articles

Photo Credits

  • photo_camera computer image by michele goglio from Fotolia.com