In order for rules in tabular to appear, each document class has to define a positive value for \arrayrulewidth and moderncv either doesn't assign a value or it sets it to 0pt; something similar happens to \tabcolsep; simply assign the standard values for those lengths:
\documentclass{moderncv}
\firstname{A}
\familyname{B}
\setlength\arrayrulewidth{.4pt}
\setlength\tabcolsep{6pt}
\begin{document}
\begin{tabular}{|c|c|c|}
\hline aa & bb & cc \\
\hline dd & ee & ff \\
\hline
\end{tabular}
\end{document}

In fact, there was an attempt to set these lengths (and some others) in moderncv.cls, but the author decided they were not required; one can see
% not required
%\setlength\arraycolsep{5\p@}
%\setlength\tabcolsep{6\p@}
%\setlength\arrayrulewidth{.4\p@}
%\setlength\doublerulesep{2\p@}
%\setlength\tabbingsep{\labelsep}
in moderncv.cls.
As a personal suggestion, consider removing vertical rules from your tables and using the booktabs package.