Initial upload of c++ code

Note that most of the c++ code files are currently empty