Berkeley has Chisel where you write something like C + Scala and you get Verilog for hardware instantiation and C for verification
https://chisel.eecs.berkeley.edu/
I suppose you could, in practice, write modules for simulation in C or C++ and hook it up to the C++ code that the compiler generates. I doubt this is very useful in practice since you can't generate any Verilog from it.