> C++ is a superset of C, and that virtually any legal C program is a legal C++ program. This is not true. One example, void* pointers are not automatically converted to "narrower" types in C++ as they are in C.
There are differences, but they are few and far between.