What part of this code would be logical to call in your main{} class, and what part should be used within (for instance) the constructor of a new object (what should I pass as argument(s)), and why? The question is more along the lines of, what is the best way of passing random_device variables to objects (arguments, etc)?
srand ( time ( NULL ) );
std::random_device rd;
std::mt19937 mt(rd());
std::uniform_int_distribution<int> dist(1, 10);
for (int i=0; i<40; ++i)
std::cout << (int)dist(mt) << " ";
std::cout << endl;