I don't really understand your question;
but if the problem is that u are not getting random numbers,that's because you need to use srand(), before using rand().
header files are:<ctime>and <cstdlib>
do this before rand();
srand(static_cast<unsigned int>(time(0))); // this line provides a seed for the function rand(), otherwise rand will always give out the same numbers.
I suggest using this version of random engine because I think std::rand() is global. I'm afraid this'll spread the random number out over multiple classes or threads that need random numbers, which may affect randomness.