Your calls to die.roll()
are so close together that time(0)
is actually returning the same value every time, and, thus, your rand seed is the same for each call to .roll()
.
Try calling srand(static_cast(time(0)));
once (and only once) outside of .roll()
(like in the Die constructor or main()
).