séparation de fichier pour une class - Pb de débutant
Bonjour à tous, j'apprend en ce moment le C++ grâce au livre de claude delannoy ainsi que son livre avec des TPs dedant.
Cependant je n'arrive pas à compiler une source qui pour moi ne possède pas d'érreur:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| /*main.cpp*/
#include <iostream>
#include "vecteur3d.h"
int main(void)
{
Vecteur3d *vec1=new Vecteur3d();
Vecteur3d *vec2=new Vecteur3d(2,5.3);
Vecteur3d *vec3=new Vecteur3d(2.5,2,3);
cout << "\nNombre d'objets cree:" << Vecteur3d::affNbObjets();
return 0;
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
/*vecteur3d.h*/
#ifndef VECTEUR3D_H
#define VECTEUR3D_H
/************************************************/
/*CLASS VECTEUR3D.H 02/11/05 */
/************************************************/
//Declaration de classe
class Vecteur3d
{
private:
float x,y,z;
static int nb_objets;
public:
//Constructeur avec argument par défault et surdéfinition
Vecteur3d(float=0,float=0,float=0);
Vecteur3d(Vecteur3d &);//passage par reference
//Methodes
static int affNbObjets(void);
int equals (Vecteur3d);//Passage par copie mais il est préférable d'utiliser par reference
};
int Vecteur3d::nb_objets=0;//Initialisation du membre static
#endif |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
/*vecteur3d.cpp*/
#include "vecteur3d.h"
/**************************************************/
//Definition de classe (methodes...)
Vecteur3d::Vecteur3d(float a, float b, float c)
{
x=a;
y=b;
z=c;
}
Vecteur3d::Vecteur3d(Vecteur3d &vec)
{
x=vec.x;
y=vec.y;
z=vec.z;
}
int Vecteur3d::affNbObjets(void)
{
return nb_objets;
} |
voici mon pb lors de la compilation (j'utilise microsoft visual studio):
Code:
1 2
| g:\Tp\Tp_c++\Maison\Tp5\vecteur3d\vecteur3d\vecteur3d\main.cpp(10): error C2065: 'cout' : identificateur non déclaré
g:\Tp\Tp_c++\Maison\Tp5\vecteur3d\vecteur3d\vecteur3d\main.cpp(7): warning C4305: 'argument' : troncation de 'double' à 'float' |
j'ai l'impression qu'il ne prend pas en compte les définitions de methodes dans vecteur3d.cpp
que faire ?