Bonjour,
j'ai un soucis avec mon 1er programme de création de classe.
Je voudrais créer une classe qui s'appelle vecteur avec 3 coordonnées x,y,z et faire des opérations dessus.
J'ai recopié bètement ce qui est dans mon cours pour déclarer une classe et j'ai appelé le fichier "vecteur.cc"
Ensuite j'ai crée un programme (youpi.cc) tout bète pour utiliser la fonction "afficher" que j'ai déclaré dans vecteur.cc.
Et j'ai 2 soucis :
1) dans le fichier où je déclare la classe j'ai 2 erreurs que je ne comprend pas :
" [Linker error] undefined reference to `WinMain@16' "
" ld returned 1 exit status "
Je vous file le programme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 #include<stdio.h> #include<stdlib.h> #include<unistd.h> #include<iostream> class vecteur {private : float x,y,z; public : vecteur() {x=0;y=0;z=0;} vecteur(float a,float b,float c) {x=a;y=b;z=c;} void afficher() {printf("%f %f %f\n",x,y,z);} void modifier(float a,float b,float c) {x=a;y=b;z=c;} vecteur operator +(vecteur u) {vecteur resultat; resultat.x=x+u.x; resultat.y=y+u.y; resultat.z=z+u.z; return resultat;} float operator *(vecteur u) {float resultat; resultat=x*u.x+y*u.y+z*u.z; return resultat;} void operator =(vecteur u) {x=u.x; y=u.y; z=u.z;} };
2) Et donc quand j'essai d'utiliser la fonction afficher le logiciel me dit que cette fonction n'est pas déclarée. Pourtant on m'a dit qu'en mettant vecteur.cc et youpi.cc dans le meme repertoire, et en ajoutant #include"vecteur.cc" ça devrait marcher.
Enfin les 2 problèmes sont sans doute liés....
Je vous met le fichier youpi.cc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #include<stdio.h> #include<stdlib.h> #include<unistd.h> #include<iostream> #include"vecteur.cc" main() { vecteur u,s(1,2,3),t(4.3,5,6); u=s+t; u=s; afficher(u); }
Voila si vous pouviez me dire d'où viens le problème ça m'arrangerais. Merci d'avance![]()
Partager