je suis nouveau sur c++, je travaille sur une class Point avec des setters et des getters et des méthodes mais je reçois l'erreur suivante :
no matching function for call to 'Point::affiche(Point&)'
le fichier Point.h
le fichier Point.cpp est comme suite:
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 #ifndef POINT_H #define POINT_H class Point { public: Point(); virtual ~Point(); Point(const Point& other); void affiche(); float deplace(float x, float y); float getAbscisse() const; float getOrdonnee() const; void setAbscisse(float abs); void setOrdonnee(float ord); private: float abscisse; float ordonnee; }; #endif // POINT_H
le fichier main.cpp est:
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
36
37
38
39
40
41
42
43
44
45 #include "Point.h" #include <iostream> Point::Point() { //ctor } Point::~Point() { //dtor } Point::Point(const Point& other) { //copy ctor } Point::affiche(Point p) { cout<<"les cordonnées du point sont:"<<p.getAbscisse()<<p.getOrdonnee(); } Point::deplace(Point p) { float d; cout<<"pour déplacer le point entrer un taux de déplacement"<<endl; cin>>d; cout<<" "<<endl; p.setAbscisse(abscisse)=p.setAbscisse(abscisse)+d; p.setOrdonnee(ordonnee)=p.setOrdonnee(ordonnee)+d; } Point::setAbscisse(float abs) { abs=abscisse; } Point::setOrdonnee(float ord) { ord=ordonnee; } Point::getAbscisse() const { return abscisse; } Point::getOrdonnee() const { return ordonnee; }
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 #include <iostream> #include "Point.h" #include <cstdlib> using namespace std; int main() { Point p; float abs, ord; cout<<"entrer les cordonnées du point"<<endl; cin>>abs>>ord; cout<<" "<<endl; p.setAbscisse(abs); p.setOrdonnee(ord); p.affiche(p); p.deplace(abs,ord); p.affiche(p); return 0; }
Partager