Einführung
In diesem Lab werden wir demonstrieren, wie man ein C++-Programm erstellt, das das Konzept der hierarchischen Vererbung zeigt. Wir werden ein einfaches Programm mit Klassen und Objekten schreiben, um das Thema besser zu verstehen.
💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken
In diesem Lab werden wir demonstrieren, wie man ein C++-Programm erstellt, das das Konzept der hierarchischen Vererbung zeigt. Wir werden ein einfaches Programm mit Klassen und Objekten schreiben, um das Thema besser zu verstehen.
main.cpp
Wir werden eine neue Datei namens main.cpp
im Verzeichnis ~/project
mit dem folgenden Befehl erstellen:
touch ~/project/main.cpp
Shape
-KlasseDas erste, was wir tun müssen, ist es, die Shape
-Klasse zu definieren, die als Elternklasse für die Rectangle
- und Triangle
-Klassen dienen wird. In dieser Klasse werden wir zwei geschützte Membervariablen width
und height
erstellen, die die Breite und Höhe der Form speichern werden.
Anschließend werden wir eine öffentliche Memberfunktion setDimensions
erstellen, die diese Dimensionen setzt und eine Nachricht auf der Konsole ausgibt.
Dies ist der Codeblock für die Shape
-Klasse, der der main.cpp
hinzugefügt werden sollte:
#include <iostream>
using namespace std;
class Shape {
//geschützte Membervariablen sind nur innerhalb der Klasse und ihrer abgeleiteten Klassen zugänglich
protected:
float width, height;
//öffentliche Member sind überall zugänglich
public:
void setDimensions(float w, float h) {
cout << "Setting the Dimensions using the parent Class: Shape\n";
cout << "The dimensions are: " << w << " and " << h << "\n\n";
width = w;
height = h;
}
};
Rectangle
-KlasseAls nächstes werden wir die Rectangle
-Klasse erstellen, die von der Shape
-Klasse erben wird. Hier werden wir eine Methode zum Überschreiben der Methode verwenden, um die Fläche des Rechtecks mit der area()
-Funktion zu berechnen.
Dies ist der Codeblock für die Rectangle
-Klasse, der der main.cpp
hinzugefügt werden sollte:
class Rectangle: public Shape {
//Methode zum Überschreiben
public:
float area() {
return (width * height);
}
};
Triangle
-KlasseLassen Sie uns nun die Triangle
-Klasse erstellen, die ebenfalls von der Shape
-Klasse erben wird. Hier werden wir die Methode zum Überschreiben verwenden, um die Fläche des Dreiecks mit der area()
-Funktion zu berechnen.
Dies ist der Codeblock für die Triangle
-Klasse, der der main.cpp
hinzugefügt werden sollte:
class Triangle: public Shape {
//Methode zum Überschreiben
public:
float area() {
return (width * height / 2);
}
};
main()
-FunktionJetzt ist es an der Zeit, die main()
-Funktion zu schreiben. Hier werden wir Objekte für beide Klassen Rectangle
und Triangle
erstellen und ihre Dimensionen festlegen.
Anschließend werden wir die area()
-Funktion verwenden, um die Fläche sowohl des Rectangle
als auch des Triangle
mithilfe ihrer jeweiligen Objekte zu berechnen.
Dies ist der Codeblock für die main()
-Funktion, der der main.cpp
hinzugefügt werden sollte:
int main() {
cout << "\n\nWelcome to LabEx :-)\n\n\n";
cout << "===== Program to demonstrate the concept of Hierarchical Inheritance in CPP =====\n\n";
//Declaring the Class objects to access the class members
Rectangle rectangle;
Triangle triangle;
rectangle.setDimensions(5, 3);
triangle.setDimensions(2, 5);
cout << "\nArea of the Rectangle computed using Rectangle Class is : " << rectangle.area() << "\n\n\n";
cout << "Area of the Triangle computed using Triangle Class is: " << triangle.area();
cout << "\n\n\n";
return 0;
}
Um das Programm im Terminal auszuführen, navigieren Sie zunächst zu ~/project
. Geben Sie dann den folgenden Befehl ein, um die main.cpp
-Datei zu kompilieren:
g++ main.cpp -o main
Nachdem das erfolgt ist, führen Sie das Programm mit dem folgenden Befehl aus:
./main
Sie sollten die Ausgabe im Terminal sehen.
In diesem Lab haben wir gelernt, wie man das Konzept der hierarchischen Vererbung in C++ demonstriert. Wir haben die Shape
-Klasse erstellt, die die Elternklasse von sowohl Rectangle
als auch Triangle
war. Anschließend haben wir Objekte für jede der Unterklassen erstellt und die Methode zum Überschreiben verwendet, um die Fläche eines Rechtecks und eines Dreiecks zu berechnen.
Wir hoffen, dass Ihnen dieses Lab geholfen hat, ein besseres Verständnis davon zu entwickeln, wie hierarchische Vererbung in C++ funktioniert. Für jede Frage können Sie sich gerne an uns über das untenstehende Kommentarfeld wenden.