Académique Documents
Professionnel Documents
Culture Documents
Page 1/6
07/11/2010
system("pause"); } //faites un autre test sous c++ pour dos puis Alt. +F5
P.O.O
M43
M. Semghouni
Page 2/6
07/11/2010
1-cration Les objets dynamiques sont ceux crs l'aide de l'oprateur new, qui permet d'allouer l'espace mmoire pour cet objet qui pourra tre libr par delete. L'accs un attribut de cet objet ce fait l'aide de l'oprateur -> 2 - Exemple:
#include <iostream> using namespace std; class fraction { int a, b ; public : fraction (int num, int den) // constructeur { a=num ; b=den ; cout << "++ Appel Constructeur "<<a<<"/"<<b<<"\n" ; } ~fraction () // destructeur (en fait, inutile ici) { cout << "-- Appel Destructeur "<<a<<"/"<<b<<"\n" ; } } ; main() { void fct (fraction *) ; // prototype fonction fct fraction * adr ; cout << "** Debut main \n" ; adr = new fraction (2,3) ; // cration dynamique d'un objet fct (adr) ; cout << "** Fin main \n" ; system("pause"); } void fct (fraction * adf) { cout << "** Debut fct \n" ; delete adf ; // destruction de cet objet cout << "** Fin fct \n" ; }
fraction *adr1 = new fraction(1,2); excutez le programme remarquer suit que cet objet reste dans la mmoire mme aprs la fin de l'excution 1- tout objet cr dynamiquement, c'est dire tout espace mmoire allou, par new doit tre libr par delete 2- L'accs a un attribut d'un objet cre dynamiquement ce fait a l'aide de l'oprateur -> exemple adr->a ou adr->affiche() si affiche() est une mthode de fraction comme on peut aussi crire (*adr).affiche(); ou pour a (*adr).a