Classe Dentistes C++

EXERCICE CORRIGE C++ / Gestion des Dentistes en C++

Une clinique veut développer un programme pour gérer ses dentistes. Chaque dentiste a des informations personnelles et professionnelles.

1. Classe Dentiste

Chaque dentiste possède :

Attributs d'instance :

nom (string) : Le nom du dentiste

age (int) : L'âge du dentiste

experience (int) : Nombre d'années d'expérience

salaire (double) : Salaire mensuel du dentiste

Attributs de classe :

nombreDentistes (int, static) : Nombre total de dentistes créés

Méthodes :

Dentiste(string nom, int age, int experience, double salaire) (Constructeur paramétré)

~Dentiste() (Destructeur affichant un message)

void afficherInfos() (Affiche les informations du dentiste)

static int getNombreDentistes() (Retourne le nombre total de dentistes créés)

Proposer le fichier : Dentiste.h, Dentiste.cxx et fichier main.cxx avec l'utilisation de toutes les methodes et  attributs.

SOLUTION :

Gestion des Dentistes en C++

Gestion des Dentistes en C++

1. Fichier Dentiste.h

// Déclaration de la classe Dentiste
#ifndef DENTISTE_H
#define DENTISTE_H

#include <iostream>
using namespace std;

class Dentiste {
private:
    string nom;
    int age;
    int experience;
    double salaire;
    static int nombreDentistes; // Attribut statique

public:
    // Constructeur
    Dentiste(string nom, int age, int experience, double salaire);
    
    // Destructeur
    ~Dentiste();
    
    // Méthode pour afficher les informations
    void afficherInfos();
    
    // Méthode statique pour obtenir le nombre total de dentistes
    static int getNombreDentistes();
};

#endif

2. Fichier Dentiste.cxx

#include "Dentiste.h"

// Initialisation de l'attribut statique
int Dentiste::nombreDentistes = 0;

// Constructeur
Dentiste::Dentiste(string nom, int age, int experience, double salaire) {
    this->nom = nom;
    this->age = age;
    this->experience = experience;
    this->salaire = salaire;
    nombreDentistes++; // Incrémente le nombre total de dentistes
}

// Destructeur
Dentiste::~Dentiste() {
    cout << "Dentiste " << nom << " supprimé.\n";
    nombreDentistes--;
}

// Méthode pour afficher les informations
void Dentiste::afficherInfos(){
    cout << "Nom: " << nom << ", Age: " << age << " ans, Experience: "
         << experience << " ans, Salaire: " << salaire << "FCFA\n";
}

// Méthode statique pour obtenir le nombre de dentistes
int Dentiste::getNombreDentistes() {
    return nombreDentistes;
}

3. Fichier main.cxx

#include "Dentiste.h"

int main() {
    // Création des objets Dentiste
    Dentiste d1("Dr. joel Yankam", 45, 20, 5000);
    Dentiste d2("Dr. Clinton ", 38, 12, 4500);

    // Affichage des informations
    d1.afficherInfos();
    d2.afficherInfos();

    // Affichage du nombre total de dentistes
    cout << "Nombre total de dentistes: " << Dentiste::getNombreDentistes() << "\n";
    
    return 0;
}
Aucune note. Soyez le premier à attribuer une note !

Ajouter un commentaire

Anti-spam