Introduction
Dans ce laboratoire, vous allez apprendre à démontrer le concept d'héritage simple en langage de programmation C++. Vous allez créer deux classes, une classe mère et une classe enfant, où la classe enfant (classe dérivée) hérite des caractéristiques (propriétés et méthodes) de la classe mère (classe de base ou super classe).
Créer le fichier main.cpp
Tout d'abord, créez un fichier main.cpp dans le répertoire ~/project en utilisant la commande suivante :
touch ~/project/main.cpp
Écrire le code
Copiez et collez le code suivant dans votre fichier main.cpp :
#include <iostream>
// Inclure les bibliothèques requises
using namespace std;
// Déclaration d'une classe mère (classe de base) appelée "Shape"
class Shape {
public:
float area(float l, float b) { // Méthode pour calculer l'aire de la forme
return (l * b);
}
float perimeter(float l, float b) { // Méthode pour calculer le périmètre de la forme
return (2 * (l + b));
}
};
// Déclaration d'une classe enfant (classe dérivée) appelée "Rectangle" qui dérive ou hérite de la classe Shape
class Rectangle: private Shape {
private:
float length,
breadth;
public:
Rectangle(): length(0.0), breadth(0.0) {} // Constructeur par défaut du Rectangle
void getDimensions() { // Méthode pour obtenir les dimensions du Rectangle à partir de l'utilisateur
cout << "\nEntrez la longueur du Rectangle : ";
cin >> length;
cout << "\nEntrez la largeur du Rectangle : ";
cin >> breadth;
}
// Méthode pour calculer le périmètre du Rectangle en utilisant la classe Shape
float perimeter() {
// Appelle la méthode perimeter() de la classe Shape et la renvoie.
return Shape::perimeter(length, breadth);
}
// Méthode pour calculer l'aire du Rectangle en utilisant la classe Shape
float area() {
// Appelle la méthode area() de la classe Shape et la renvoie.
return Shape::area(length, breadth);
}
};
int main() {
// Création d'un objet de la classe Rectangle
Rectangle rect;
// Message de bienvenue
cout << "\n\nBienvenue dans le programme d'héritage simple!\n";
// Message à l'utilisateur
cout << "\nLa classe Rectangle est dérivée de la classe Shape.\n\n";
// Obtenir les dimensions du Rectangle à partir de l'utilisateur
rect.getDimensions();
// Calculer le périmètre du Rectangle en utilisant la classe mère Shape et afficher la sortie
cout << "\nPérimètre du Rectangle calculé en utilisant la classe mère Shape : " << rect.perimeter() << "\n";
// Calculer l'aire du Rectangle en utilisant la classe mère Shape et afficher la sortie
cout << "Aire du Rectangle calculée en utilisant la classe mère Shape : " << rect.area() << "\n\n";
return 0;
}
Compiler et exécuter le code
Ensuite, compilez le code en utilisant la commande suivante :
g++ main.cpp -o main &&./main
Ensuite, exécutez le code en utilisant la commande suivante :
./main
Comprendre la sortie
Après avoir exécuté le programme, vous verrez la sortie suivante :
Welcome to Single Level Inheritance Program!
Rectangle class is derived from the Shape class.
Enter the length of the Rectangle: 5
Enter the breadth of the Rectangle: 10
Perimeter of the Rectangle computed using the parent Class Shape: 30
Area of the Rectangle computed using the parent Class Shape: 50
Le programme invite l'utilisateur à entrer la longueur et la largeur du rectangle. Après avoir obtenu les dimensions, il calcule le périmètre et l'aire en utilisant les fonctions perimeter() et area() de la classe mère Shape.
Résumé
Félicitations! Vous avez réussi à écrire un programme C++ démontrant le concept d'héritage simple. Vous pouvez expérimenter avec différentes formes et la sortie reflétera exactement les calculs pour toute nouvelle classe dérivée.



