Académique Documents
Professionnel Documents
Culture Documents
A.SOUHAR
1
22/11/2022
Méthode constante
int main()
#include <iostream> { Point p1(2,2), p2(1,1);
#include <math.h>
cout<<"\np1 = ";
using namespace std;
class Point{ p1.afficher();
int x,y;
public: p1.deplacer(-2,-2);
Point(int a,int b) cout<<"\np1 = ";
{x=a; y=b;} p1.afficher();
void afficher()const //méthode de consultation
{cout<<"("<<x<<","<<y<<")";} cout <<"\nla distance entre ";
void deplacer(int dx,int dy) p1.afficher();
{x+=dx; y+=dy; } //méthode de modification cout <<" et ";
float distance(Point autrePoint)const;
p2.afficher();
};
float Point::distance(Point autrePoint) const{ cout<<" est: ";
int dx = x - autrePoint.x; cout<<p1.distance(p2)<<endl;
int dy = y - autrePoint.y;
return sqrt(dx * dx + dy * dy); return 0;
} }
2
22/11/2022
};
3
22/11/2022
Méthode statique
#include <iostream> int Point::nbPoints=0;
using namespace std;
int main()
class Point{ {
int x, y; Point p1;
static int nbPoints; cout<<"Num:"<<p1.nbPts()<<" ";
public: p1.afficher(); cout <<endl;
Point p2(3,4);
Point(int abs= 0, int ord= 0){ cout<<"Num:"<<p2.nbPts()<<" ";
x = abs; y = ord; p2.afficher(); cout <<endl;
nbPoints++; } cout<<"\nNum:"<<Point::nbPts();
void afficher() { return 0;
cout<<"("<<x<<","<<y<<")";} }
};
4
22/11/2022
Méthode statique
#include <iostream> int Point::nbPoints=0;
using namespace std; int main()
class Point{ {
int x; Point *t=new Point[3];
int y; cout<<"\nNum:"<<t->nbPts();
static int nbPoints; //Num :3
public: delete[]t;
Point(int abs= 0, int ord= 0){ cout<<"\nNum:"<<Point::nbPts();
x = abs; y = ord; //Num :0
nbPoints++;} Point p1(10,15);
~Point() cout<<"\nNum:"<<p1.nbPts()<<" ";
{nbPoints--;} //(10,15) Num :1
void afficher() p1.afficher();
{cout <<"("<<x <<","; cout<<"\nNum:"<<Point::nbPts();
cout<<y<<")"<<endl;} //Num :1
static int nbPts(){return nbPoints;} return 0;
}; }
5
22/11/2022
Point::operator int()const
{
return x;
}