C CHAP11

3152 mots 13 pages
Une évolution des structures
Une fois introduite la notion de structures, on s'aperçoit qu'il est totalement naturel de créer des fonctions permettants de manipuler ces structures. La notion de classe est donc une notion plus puissante que la notion de structures. Une classe va permettre de regrouper en une seule entité des données membres et des fonctions membres appelées méthodes.
[modifier] Notion de classe
Une classe regroupera donc : des données membres. des méthodes membres qui seront des fonctions.
[modifier] Un premier exemple de classe
On veut manipuler des points définis par une abscisse et une ordonnée (des réels).
Sur un point, on peut calculer la distance entre 2 points et le milieu de 2 points.
Nous allons donc définir une classe Point définie par un fichier .h et un fichier .cpp.
[modifier] Exemple 1 : la classe Point
Le fichier Point.h
#ifndef POINT_H
#define POINT_H

class Point
{
public: double x,y; double distance(const Point &P);
Point milieu(const Point &P);
};
#endif
Explications
On définit dans ce fichier la classe Point : elle contient 2 données de type double x et y et 2 méthodes membres distance qui calcule la distance entre ce point et un autre Point et milieu qui calcule le milieu du segment composé de ce point et d'un autre Point.
On remarque l'utilisation des directives de compilation #ifndef, #define et #endif pour gérer les inclusions multiple du fichier header.
Le fichier Point.cpp
#include "Point.h"
#include<cmath>
double Point::distance(const Point &P)
{
double dx,dy; dx=x-P.x; dy=y-P.y; return sqrt(dx*dx+dy*dy);
}

Point Point::milieu(const Point &P)
{
Point M;
M.x=(P.x+x)/2;
M.y=(P.y+y)/2; return M;
}
Explications
Il contient l'implémentation de chaque méthode de la classe Point.
On fait précéder chaque méthode de Point::<
On a inclut le fichier cmath afin de pouvoir utiliser la fonction sqrt de cmath (racine carrée).
A l'intérieur de la classe Point, on peut accéder directement à l'abscisse du point en utilisant la

en relation

  • Physique chimie
    953 mots | 4 pages
  • Maths
    729 mots | 3 pages
  • Apple
    258 mots | 2 pages
  • DROIT CHAP 11
    264 mots | 2 pages
  • Supermarket lady de duane hanson
    873 mots | 4 pages
  • Descartes bio
    2260 mots | 10 pages
  • Droite
    715 mots | 3 pages
  • Cas audire
    396 mots | 2 pages
  • Rapport de stage en ito
    2345 mots | 10 pages
  • Musique brassens
    349 mots | 2 pages
  • Rappord de stage en maternelle
    452 mots | 2 pages
  • Caran d'ache mission d'expertise
    30173 mots | 121 pages
  • Monsieur
    846 mots | 4 pages
  • Décathlon
    3880 mots | 16 pages
  • kichner
    599 mots | 3 pages