Added some new file *.cpp, Makefile and .gitignore