>>6
You can do everything you do in C++ in C.
C doesn't have the wonderfully terse Turing-complete template meta-programming language. While it may not necessarily be very useful to statically compute factorials (a purposefully shitty example), it's certainly something that
cannot be done with vanilla C.
>>14
Exactly what are you referring to here?
Aside from the more obvious differences (namespace support, function naming conventions, other bullshit features, etc) --
o C has an explicit, separate namespace for structs.
o C++ lacks implicit conversion from void*, implicit function prototyping, implicit main signature, minor things etc.
o ANSI C doesn't allow arrays with lengths specified by a const ``variable'' qualifier.
o etc.
Please refer to
http://david.tribble.com/text/cdiffs.htm for more differences.