This article is from the alt.comp.lang.learn.c-c++ Frequently Asked Questions. Compiled by Sunil Rao email@example.com.
They are indeed similar to a great extent. Incompatibilities do exist, though, and many idiomatic constructs used in C are frowned upon by C++ experts. C++ programmers generally consider code that does not exploit those features of C++ that make it possible to write better programs - programs that are more readable and easier to write and maintain - to be in poor style. The differences between the two languages are significant enough to ensure that one has to be clear about the language being used. However, it must not be forgotten that C++ is a largely a superset of C, and that it is possible (though perhaps not desirable) to write code that works correctly in both languages.
A lot of people incorrectly believe that object-oriented programs cannot be written in C; this is not true. What is true is that C++ provides features that make it easier to write in a style that is object-oriented; in other words, C++ supports programming in an object-oriented style.