Fonction rand dans un constructeur
Bonjour,
J'ai un problème, je souhaite créer deux objets qui prennent une valeur random que j'instancie avec un constructeur, le problème c'est qu'il me renvoie la même valeur.
Voici mon code (je ne teste que l'affichage pour simplifier):
----------------------
header Mere.h
----------------------
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
#ifndef __test__Mere__
#define __test__Mere__
#include <iostream>
class Mere
{
public :
Mere(void);
virtual ~Mere( void );
protected:
};
#endif /* defined(__test__Mere__) */ |
----------------------
classe Mere.cpp
---------------------
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
#include <iostream>
#include "Mere.h"
using namespace std;
Mere::Mere(void){
cout << "Constructeur de Mere" << endl;
srand((unsigned int)time(NULL)); // initialisation de rand
cout << "Nombre: " << double(rand()%10)<< endl;
}
Mere::~Mere( void )
{
cout << "Destructeur de Mere" << endl;
} |
------------
Main.cpp
------------
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| #include <iostream>
#include "Mere.h"
#include <time.h>
int main(int argc, const char * argv[])
{
std::cout << "Hello, World!\n";
Mere A;
srand((unsigned int)time(NULL)); // initialisation de rand
Mere B;
return 0;
} |
Voila, à l'exécution, le programme me renvoie les mêmes valeurs malgré le srand... Quelqu'un peut-il m'aider ?
Merci