Possible Duplicate:
Why do I always get the same sequence of random numbers with rand()?
I tried to implement the following generator class for random integers from a given range:
class RandomInteger {
protected:
    std::default_random_engine randomEngine;
    std::uniform_int_distribution<> distribution;
public:
    RandomInteger(int64_t lower, int64_t upper);
    virtual ~RandomInteger();
    virtual int64_t generate();
};
RandomInteger::RandomInteger(int64_t lower, int64_t upper) : distribution(lower, upper) {
}
RandomInteger::~RandomInteger() {
    // TODO Auto-generated destructor stub
}
int64_t RandomInteger::generate() {
    int64_t i = this->distribution(this->randomEngine);
    return i;
}
It produces integers in the range, BUT the sequence of values it produces is the same each time - not very random. Why?
 
     
    