Vous êtes sur la page 1sur 5

Exercice :

Créer et définir une classe Personne qui dispose :


- Attributs : Nom
Prénom
Age
- Méthodes on veut pouvoir, séparément , obtenir les attributs les modifier
et les afficher ensemble.

Proposer le programme C++ permettant d’implémenter cette classe et l’utiliser


dans un main.
#include <iostream.h>
#include <string.h> // pour les opérations sur les chaînes de caractères

// Déclaration de la classe
class Personne
{ private : // Respect de l'encapsulation
char Nom[20]; // Nom d'une personne
char Prenom[20]; // Prénom d'une personne
int Age; // Age d'une personne
public : // Pour donner un accès aux objets depuis l'extérieur
// Méthodes d'accès aux attributs privés
char * ObtenirNom();
char * ObtenirPrenom();
int ObtenirAge();
// Méthodes de modification des attributs privés
void ModifierNom(char NouvNom[]);
void ModifierPrenom(char NouvPrenom[]);
void ModifierAge(int NouvAge);
// Affichage des informations concernant la personne
void Afficher() const;
};
char * Personne::ObtenirNom()
{ return Nom; // Renvoie la valeur de l'attribut
}
char * Personne::ObtenirPrenom()
{ return Prenom;
}
int Personne::ObtenirAge()
{
return Age;
}
// Méthodes de modification des attributs privés
void Personne::ModifierNom(char NouvNom[])
{
strcpy(Nom, NouvNom); // Modifie la valeur de l'attribut
}
void Personne::ModifierPrenom(char NouvPrenom[])
{
strcpy(Prenom, NouvPrenom);
}
void Personne::ModifierAge(int NouvAge)
{
Age=NouvAge;
}

// Affichage des informations concernant la personne


void Personne::Afficher() const
{
cout <<"("<< Prenom <<" , " <<Nom <<" , " << Age <<" ans)" <<endl;
}
void main()
{
Personne UnePersonne; // Création d'un objet UnePersonne instance de la classe
Personne
UnePersonne.ModifierPrenom("Pierre"); //Modification des valeurs des
attributs
UnePersonne.ModifierNom("Durand");
UnePersonne.ModifierAge(42);
UnePersonne.Afficher(); //Affichage du contenu de l'objet
// Exemple d'utilisation des méthodes Obtenir... qui renvoient les valeurs des
attributs
cout << UnePersonne.ObtenirNom() <<" aura " << UnePersonne.ObtenirAge()+10
<< " ans dans 10 ans"<<endl;
}

Vous aimerez peut-être aussi