Getting absolute file names will depend on the folder you want "find" to search. If you put "./" as in your example, output will be with relative paths. Try using the full path of the current directory (or ${PWD} for simplicity).
Code:
find ${PWD} -type f -name '*.cpp' -printf "%p "
To add also .c and .h files (and maybe .hpp?), try combining multiple -name options using the "-o" or "-or" operator.
Hint: to make code appear more clearly, put it inbetween CODE tags.