Cours 2
18 pages
Français

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus
18 pages
Français
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus

Description

Programmation Orienté Objet en C++  Ricard julienjricard@liris.cnrs.fr04.72.44.83.95http://liris.cnrs.fr/julien.ricard/OrganisationCours :RappelsSurchage de fonctionsSurcharge des opérateursFonctions amiesFonction TemplateFonction inlineTP : nombres rationnels Programmation Orienté Objet en C++ 2RappelIfIf ( condition ) { bloc si oui } else { bloc si non } ((condition)? Instruction_oui : instruction_non);While While ( condition ) { bloc executer tant que...  }For For ( initialisation ; condition ; incrementation ) { bloc }Do whileDo { bloc } while ( condition ) ;Programmation Orienté Objet en C++ 3Conditions booléenneEt : & ou &&Ou : |  ou || Égalité : ==, <=, <, >=, >, !=Penser aux () et aux commentaires…(((a=0))||((a>b)&&(a<100000)))& True False || True FalseTrue True False True True TrueFalse False False False True FalseProgrammation Orienté Objet en C++ 4Classeclass Date { Date::Date(){  _jour=0; public :    _mois_0;   int var1;   _annee=0;  Date();  }   ~Date(); Date::~Date(){}  void initialiser(int j,int m,int a);  void afficher(); void Data::afficher(){  int getJour();   cout << "la date : " << _jour ;  int getMois();   cout << "/" << _mois ;  int getAnnee();   cout << "/" << _annee <<  endl;   setJour( int j); }  setMois(int m);    setAnnee(int a); int Data::getJour() {return _jours;}int Data::getMois() {return _mois;};protected: int Data::getAnnee(){return _annee;}  int _jour;  int _mois; ...

Sujets

Informations

Publié par
Nombre de lectures 245
Langue Français

Extrait

Programmation Orienté Objet  en C++   Ricard  julien jricard@liris.cnrs.fr 04.72.44.83.95 http://liris.cnrs.fr/julien.ricard/ Organisation Cours : Rappels Surchage de fonctions Surcharge des opérateurs Fonctions amies Fonction Template Fonction inline TP : nombres rationnels  Programmation Orienté Objet en C++ 2 Rappe l If If ( condition ) { bloc si oui } else { bloc si non }  ((condition)? Instruction_oui : instruction_non); While  While ( condition ) { bloc executer tant que...  } For  For ( initialisation ; condition ; incrementation ) { bloc } Do while Do { bloc } while ( condition ) ; Programmation Orienté Objet en C++ 3 Conditions  booléenne Et : & ou && Ou : |  ou ||  Égalité : ==, <=, <, >=, >, != Penser aux () et aux commentaires… (((a=0))||((a>b)&&(a<100000))) & True False || True False True True False True True True False False False False True False Programmation Orienté Objet en C++ 4 Classe class Date { Date::Date(){   _jour=0;  public :    _mois_0;    int var1;   _annee=0;   Date();  }    ~Date(); Date::~Date(){}   void initialiser(int j,int m,int a);   void afficher(); void Data::afficher(){   int getJour();   cout << "la date : " << _jour ;   int getMois();   cout << "/" << _mois ;   int getAnnee();   cout << "/" << _annee <<  endl;    setJour( int j); }   setMois(int m);     setAnnee(int a); int Data::getJour() {return _jours;} int Data::getMois() {return _mois;}; protected: int Data::getAnnee(){return _annee;}   int _jour;   int _mois; Data::setJour(int j) {_jour =j;}   int _ann ée; Data::setMois(int m) {_mois =m;}   void _test(); Data::setAnnee(int a){_annee=a;} private: }; Programmation Orienté Objet en C++ 5 Réutilisabilité des  fonctions Un bon module doit pouvoir : Manipuler plusieurs types différentes S’adapter au différentes structures de données  Offrir des opérations sans connaître l’implémentation   factoriser  les  opérations  communes  à  un  groupe  de  module Deux concepts La surcharge La généricité Définition de nouvelles techniques:  Surchage des fonctions et  des op érateurs  Fonction Template Programmation Orienté Objet en C++ 6 Surcharge  Attribuer le m ême noms  à plusieurs op èrateurs ou  à plusieurs fonctions L’ambiguité est  levé par le contexte : Nombre de parametres Type des parametres  int max(int a,int b,int c); int max(int a,int b); float max(float a, float b, float c);  float max(float a, float b); char max(char a, char b, char c); char max(char a, char b); Programmation Orienté Objet en C++ 7 Exemple de surcharge de  fonctions int max(int a,int b){    return ((a>b)? a : b); } float max(float a, float b){     int max(int a, int b, int c){}    if ((a>b)&&(a>c))char max(char a, char b){       return a;   return ((a>b)? a : b);    if ((b>a)&&(b>c)) }       return b;    if((c>a)&&(c>b))       return c; } float max(float a, float b, float c){Class Point{    return max(max(a,b),c);Public: }   Point();    Point(int x,int y);  Private:    int _x;    int _y; } Programmation Orienté Objet en C++ 8 Surcharge des  opérateurs On peut surcharger les op érateurs : +,­, *, /, ++, =, ==, >, <, %, +=, ­ = … Cela permet : SI A et B deux objets  Point A,B,C;A+B; C=A+B;  C=A­B;A­B; B=­A; ­A; C=­(A*B); If( B==A)… if(A
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents