Forums d'entraide informatique - Astuces - Conseils

Des experts à votre écoute pour tous vos dysfonctionnements

Vous n'êtes pas identifié.


#1 02-09-2008 17:04:56

Admin
Administrateur
Date d'inscription: 30-07-2008
Messages: 683

Introduction aux classes du langage c++

Déclaration d’une classe
// Fichier: date.h
class CDate {
public:
// Pour changer la date.
void    Change (int jour,int mois, anne e) ;
// Lecture de la date.
int    Jour() const;    // Note: const
int    Mois() const;
int    Annee ( ) const;
// Passe à la date suivante.
void    Suivante();
// Ecrit la date dans un fichier.
void    Ecrit(FILE*);
private:
int jour, mois, annee;
};
1

Les classes se manipulent a` peu pr´es comme
les struct:
struct S {
/* ... */
};
class CDate {
/* ... */
};
void main()
{
S s;
FILE*    fichier;
Cdate date;// "instance" (objet) appartenant
//a` la classe CDate.
}

Implémentation
On utilise la notation
Nom de la Classe: :Fonction Membre
pour définir une fonction d’ u ne classe.
Les variables déclarées dans une classe donnée
sont accessible dans la définition des fonc-
tions membres de la classe.
// Exemple:
void CDate :: Ecrit (FILE* f )
{
printf (f, "%d %d %d" , jour, mois annee) ;
}
3

// Fichier: date.cpp
// Cette fonction change la date.
CDate::Change(int nouv-jour,
int nouv-mois,
int nouv-annee)
{
jour = nouv-jour;
mois = nouv-mois;
annee = nouv-annee;
1
// Jour courant.
int CDate::Jour() const
{
return jour;
1

Exemple d’ utilisation
void main()
{
CDate date;
date . Change (3, 1, 2000) ; // Y2K proof !
date . Suivante () ;
date. Ecrit(stdout);
date.jour = 4; // Illégal!
//Le compilateur va
//se plaindre...
int jour = date .Jour () ;
}
5

Constructeurs
Dans le programme précedent,
CDate date;
date. Change (3, 1, 2000);
c’est un peut long, on peut faire mieux avec
un constructeur: c’est une fonction mem-
bre sp~eciale qui construit un objet a~ partir de
valeurs initiales.
Syntaxe:
// Dans date.h
class CDate {
public:
CDate();
CDate(int jour, int mois, int annee);
/* ...    */
};

//Dans date. cpp,
//on définit deux fonctions:
CDate :: CDate () :
jour (0) , mois (0) , annee (0)
{
}
CDate :: CDate (int p_j our,
int p_mois,
int p_annee) :
jour(p_jour) , mois(p_mois) , annee(p_annee)
{
}
// Utilisation (dans main()):
CDate date1;
CDate date2 (25,12,1999) ;
7

Destructeurs
Sert à faire le ”ménage” lorsqu’un objet cesse
d’exister...
Par convention, cette fonction porte le nom
de la classe pr~efix~e du caract~ere~
Usuellement, si une allocation de mémoire à
été effectuée dans un constructeur, on libère
la mémoire dans le destructeur.


Cordialement

L'équipe Parisdepannage.fr

Hors ligne

 

Pied de page des forums


Copyright Parisdepannage.fr

 

De;coration en-pied 2008 Parisdepannage |Plan du site|Forums |Blog|Lexique De;coration en-pied


Fermer la fenètre