It's not for any specific reason, it's just a (developer- or project-specific) convention. As "file extension" is just part of name, it doesn't matter much, as source files are just plain text files. Furthermore, header files are just copy-pasted into file that included them (via #include
, so file extension mean even less for them.
Borland's libraries' headers had .hpp
extension. C++'s standard library headers have no extension at all. It's just a matter of convention and personal taste.