redéfinition du type 'class'
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:
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:
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:
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;
} |