C++ is derived from C. Most C programs are valid C++ programs. However, some familiar things are done differently. C++ source files are typically given file extents of "cc" or "cpp" or sometimes "cxx". Header files are typically .h, but sometimes .hpp or .hxx. (System header files leave off the .h - see 00-helloworld.cc.) 00-helloworld.cc ---------------- System include files are named differently -- you leave off the ".h" for the C++ include files. C++ supports namespaces. It has an alternative to printf/scanf for simple IO. C++ supports namespaces. The name resolution operator is "::". The namespace "std" contains many "standard" C++ definitions/objects. For example, std::cin is like stdin in C, and std::cout is like stdout. 01-helloworld.cc ---------------- C++ has strings. "string" is a class, built on top of C++ and provided with all C++ distributions. The using statement gets you out of fully qualifying every name, at your own peril. 02-iomanip.cc ------------- What would be part of a printf format specifier string in C are "stream manipulators" in C++. 03-stdin.cc ----------- Demonstrates reading from stdin (what scanf does in C). 04-concat.cc ------------ string concatenation. C++ string class is very similar to Java strings. (No garbage collection, though, of course. Not immutable either. Dynamic length and many operations.) though.