Distinguishing C from C++

Plain C is a simple, low-level language, and it's nearly a subset of C++, which was originally named "C with classes".  If you look at the size of the author's book on each language, you can immediately see the big complexity difference!

C textbook Kernigan and Ritchie, a thin paperback, versus Straustrup's Ocean Book on C++, a thick hardback.

Generally, these features are shared between C and C++:

These features are only C++, not available in plain C:

In this class, we'll be covering both the implementation of C++ features in plain C and assembly, and plain C as a language on its own.  Quite a few large projects are built in plain C, including the linux kernel, and many system libraries.

CS 301 Lecture Note, 2014, Dr. Orion Lawlor, UAF Computer Science Department.