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
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 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
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;
}
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
#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;
}