Bonjour à vous,

Me voila de nouveau sur le forum pour un petit soucis que je n'arrive pas à résoudre et je sais que sa provient de la définition de la surcharge opérateur<<, voici mon code:

header2.cpp:
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
 
#include <iostream>
using namespace std;
 
class Point3D
{
protected:
	double x, y, z;
public:
	//Constructeur par defaut
	Point3D() : x(0.0), y(0.0), z(0.0) {}
	//Constructeur par 3 coordonnées
	Point3D(double x, double y, double z) : x(x), y(y), z(z) {}
	//Methode de comparaison
	bool operator==(const Point3D&) const;
 
	//Methode d'acces en lecture
	double get_x() { return x; }
	double get_y() { return y; }
	double get_z() { return z; }
};
 
ostream& operator<<(ostream&, const Point3D&);
Source2.cpp:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
 
#include "Header2.h"
 
bool Point3D::operator==(const Point3D& autre) const
{
	return (x==autre.x) && (y==autre.y) && (z==autre.z);
}
 
ostream& operator<<(ostream& sortie, const Point3D& p)
{
	sortie << '( ' << p.get_x() << ", " << p.get_y() << ", " << p.get_z() << ' )';
	return sortie;
}
main.cpp:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
#include "Header2.h"
#include "Source2.cpp"
 
int main()
{
	Point3D p1(1.0, 3.5, -4.2);
	system("pause");
	return 0;
}