Bonjour à vous !
Je travaille depuis plus d'une semaine sur une classe en C++. J'ai un programme qui la teste. Pour me simplifier la vie, j'ai déclaré une instance de cette classe tout en haut du fichier, pour qu'elle soit accessible partout.
Je modifie mon programme de test pour pouvoir changer les paramètres de mon constructeur de classe en fonction des arguments (argc, argv).
Or, je viens de réaliser que dans mes autres fonctions, c'est toujours les anciennes valeurs des attributs qui sont conservées, et non pas celles après avoir rappelé le constructeur !
Lors de la déclaration tout en haut, je n'utilise pas de pointeur donc ça appelle un constructeur par défaut.
Exemple :J'ai essayé de mettre static devant, ça n'a rien changé... Je n'ai pourtant pas le même problème avec toutes les autres données que j'utilise mais ce ne sont pas des objets à proprement parler !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 maClasse obj(1); void fonction() { int a = obj.getMachin(); // a est égal à 1 ! } void main(...) { obj(argc); // par exemple, supposons que argc est différent de 1 int a = obj.getMachin(); // a est bien égal à argc fonction(); }
Est-ce spécifique aux instances de classes ?
Partager