While most of the default modes based file extensions are sensible, it is good to know how to override the defaults.
The following code added to the file init.el will change the mode loading such that files with the extensions .l (the default is lisp-mode) and .vvp (an extension is not known by XEmacs) are loaded with the c++-mode.
'(("\\.l$" . c++-mode)
("\\.vvp$" . c++-mode))