Einführung
In diesem Lab werden Sie lernen, wie Sie das Konzept der einfachen Vererbung in der Programmiersprache C++ demonstrieren. Sie werden zwei Klassen erstellen, eine Elternklasse und eine Kindklasse, wobei die Kindklasse (abgeleitete Klasse) die Eigenschaften (Eigenschaften und Methoden) der Elternklasse (Basis- oder Superklasse) erbt.
Erstelle die Datei main.cpp
Erstellen Sie zunächst eine Datei main.cpp im Verzeichnis ~/project mit dem folgenden Befehl:
touch ~/project/main.cpp
Schreibe den Code
Kopieren Sie den folgenden Code in Ihre Datei main.cpp:
#include <iostream>
// Enthält die erforderlichen Bibliotheken
using namespace std;
// Deklariert eine Elternklasse (Basisklasse) namens "Shape"
class Shape {
public:
float area(float l, float b) { // Methode zur Berechnung der Fläche der Form
return (l * b);
}
float perimeter(float l, float b) { // Methode zur Berechnung des Umfangs der Form
return (2 * (l + b));
}
};
// Deklariert eine Kindklasse (abgeleitete Klasse) namens "Rectangle" die von der Shape-Klasse ableitet oder erbt
class Rectangle: private Shape {
private:
float length,
breadth;
public:
Rectangle(): length(0.0), breadth(0.0) {} // Standardkonstruktor der Rechteckklasse
void getDimensions() { // Methode, um die Maße des Rechtecks vom Benutzer abzurufen
cout << "\nGeben Sie die Länge des Rechtecks ein: ";
cin >> length;
cout << "\nGeben Sie die Breite des Rechtecks ein: ";
cin >> breadth;
}
// Methode, um den Umfang des Rechtecks mithilfe der Shape-Klasse zu berechnen
float perimeter() {
// Ruft die perimeter()-Methode der Shape-Klasse auf und gibt das Ergebnis zurück.
return Shape::perimeter(length, breadth);
}
// Methode, um die Fläche des Rechtecks mithilfe der Shape-Klasse zu berechnen
float area() {
// Ruft die area()-Methode der Shape-Klasse auf und gibt das Ergebnis zurück.
return Shape::area(length, breadth);
}
};
int main() {
// Erstellt ein Objekt der Rectangle-Klasse
Rectangle rect;
// Willkommensnachricht
cout << "\n\nWillkommen im Programm zur einfachen Vererbung!\n";
// Nachricht an den Benutzer
cout << "\nDie Rectangle-Klasse wird von der Shape-Klasse abgeleitet.\n\n";
// Ruft die Maße des Rechtecks vom Benutzer ab
rect.getDimensions();
// Berechnet den Umfang des Rechtecks mithilfe der Elternklasse Shape und zeigt das Ergebnis an
cout << "\nUmfang des Rechtecks, berechnet mit der Elternklasse Shape: " << rect.perimeter() << "\n";
// Berechnet die Fläche des Rechtecks mithilfe der Elternklasse Shape und zeigt das Ergebnis an
cout << "Fläche des Rechtecks, berechnet mit der Elternklasse Shape: " << rect.area() << "\n\n";
return 0;
}
Kompiliere und führe den Code aus
Als nächstes kompilieren Sie den Code mit dem folgenden Befehl:
g++ main.cpp -o main &&./main
Dann führen Sie den Code mit dem folgenden Befehl aus:
./main
Verstehe die Ausgabe
Nachdem Sie das Programm ausgeführt haben, sehen Sie die folgende Ausgabe:
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
Das Programm fordert den Benutzer auf, die Länge und Breite des Rechtecks einzugeben. Nachdem es die Maße erhalten hat, berechnet es den Umfang und die Fläche mithilfe der perimeter()- und area()-Funktionen aus der Elternklasse Shape.
Zusammenfassung
Herzlichen Glückwunsch! Sie haben erfolgreich ein C++-Programm geschrieben, das das Konzept der einfachen Vererbung demonstriert. Sie können mit verschiedenen Formen experimentieren, und die Ausgabe wird die Berechnungen für alle neuen abgeleiteten Klassen genau widerspiegeln.



