Exemples langage
301
class Entier : public Affichable
{ public :
Entier (int n) { valeur = n ; }
virtual void affiche()
{ cout << "Je suis un entier de valeur " << valeur << "\n" ; }
private :
int valeur ;
} ;
class Reel : public Affichable
{ public :
Reel (float x) { valeur = x ; }
virtual void affiche()
{ cout << "Je suis un reelreel de valeur " << valeur << "\n" ; }
private :
float valeur ;
} ;
main()
{ int i ;
Affichable * tabPts [3] ; // tableau de 3 pointeurs
tabPts [0] = new Entier (25) ;
tabPts [1] = new Reel (1.25) ; ;
tabPts [2] = new Entier (42) ;
for (i=0 ; i<3 ; i++)
tabPts[i]->affiche() ;
}
Je suis un entier de valeur 25
Je suis un reel de valeur 1.25
Je suis un entier de valeur 42
C#
On dispose bien des classes abstraites (mot abstract) et des méthodes retardées (même mot abstract), lesquelles sont bien soumises au polymorphisme, à condition toutefois de placer le mot override dans l’en-tête de leur (re)définition.
using System ;
abstract class Affichable
{ abstract public void affiche() ;
}
class Entier : Affichable
{ public Entier (int n)
{ valeur = n ;
}
Précédent

- 324/370

Suivant