c++ is a superset of c, so of course you can do everything in c++ that you can in c. In my experience, people going from c to c++ have alot of problems writing clean code because they can't do the paradigm switch from structured programming to object oriented. They also tend to use alot of c style code which is frowned upon in c++ (excessive void pointers, excessive pointer use, overuse of the preprocessor, global variables, etc), which can cause alot of problems.