Beruflich Dokumente
Kultur Dokumente
#ifndef POINT_H
#define POINT_H
#endif // POINT_H
Encapsulation des données : les données ne sont accessibles que par des
méthodes de la classe
Implémentation des méthodes
Point::~Point() //destructeur
{
//dtor
}
Point::Point(float a,float b) //constructeur initialisant l’abscisse et l’ordonnée
d’un point
{
abs=a;
ord=b;
}
void Point::affiche() //affiche l’abscisse et l’ordonnée d’un point
{
cout<<abs<<" "<<ord<<endl; //instruction d’affichage
}
void Point::setval() //modifie les valeurs d’un point
{
float a,b;
cin>>a>>b; //saisie des données
abs=a; //affectation
ord=b;
}
#include <iostream>
#include "Point.h" //la classe Point
int main()
{
Point a; //création d’un objet a sans valeur
a.setval(); //initialse les valeurs de a
Point b(3,5) //création d’un objet b d’abscisse 3 et d’ordonnée 5;
a.affiche(); //affiche les données de a
b.affiche(); //affiche les données de b
cout << "Hello world!" << endl;
return 0;
}
Exercices :
Créer une classe caractère qui initialise, affiche un caractère.
Créer une classe rectangle qui initialise, affiche un rectangle et calcule la
surface d’un rectangle
Les accesseurs, méthode amie
Ils permettent l’accès aux données get, set
Exercice
Définir les accesseurs pour afficher et modifier les coordonnées d’un point
friend
Une méthode amie friend est déclarée dans une classe pour lui permettre
l’accès aux membres privés
Exercices
Créer une méthode friend pour calculer la somme de 2 points
Il est possible de définir plusieurs opérateurs dans une classe +,= etc…
friend Point &operator+(Point &p1,Point &p2)
{
Point result(p1.abs+p2.abs,p1.ord+p2.ord) ;
return result ;
}
Point p1(2,3) ;
Point p2(4,5) ;
Point p3 ;
p3=p1+p2 ;
Point p1(2,3) ;
Point p2 ;
p2=p1 ;
Exercices :
Créer 2 opérateurs * et ==
Attribut statique
C’est un attribut partagé par tous les objets de la classe
Exemple de déclaration
Class Point
{
….
static int nbpoints ;
…
}
Exercice
Afficher le nombre de points utilisé