Bonjour,
J'éprouve un problème avec la manipulation d'objets. Je pensais avoir plutôt bien compris les concepts des objets, et des pointeurs en C++, mais il y a manifestement quelque chose qui m'échappe. Le problème n'est pas à la compilation, mais à l'exécution (segmentation fault).
D'abord, je situe le contexte. Il s'agit d'un programme où je manipule des formes géométriques. J'ai créé une classe coord, qui contient une coordonnée, et une classe rectangle, qui contient les 4 coordonnées des coins, et celle du "centre".
Une méthode getCenter() calcule le centre sur base d'une moyenne des coordonnées des côtés. Elle renvoie un pointeur vers une coordonnées. C'est dans cette méthode qu'il y a un problème.
Un peu de code valant mieux qu'un long discours, le voici. Je ne mets pas les #include ni les fichiers d'en-tête car je suis à 99,9% certain qu'ils sont bons...
La classe coord:
La classe rectangle:
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Le fichier main.cpp:
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Comme vous le voyez, je crée 4 pointeurs vers des coordonnées. Ensuite, je crée un rectangle, et je lui assigne les coins.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
Puis je veux récupérer son centre.
Le problème se situe à la ligne "c->setX(5);" (j'imprime des petits commentaires de débuggage. Vous verrez que c'est entre les 2 que ça plante).
D'avance, merci beaucoup pour votre aide!
PS: Je rajoute en attach un ZIP du code source, avec les en-têtes, (et qui compile...)

 

 
		
		 
         
			
			


 
   


 Manipulation d'objet / de pointeurs
 Manipulation d'objet / de pointeurs
				 Répondre avec citation
  Répondre avec citation
 
 


 
 
 
  
				 Envoyé par gnulix
 Envoyé par gnulix
					
				
Partager