C ++ Klassen und Objekte

In diesem Tutorial lernen wir anhand von Beispielen Objekte und Klassen und deren Verwendung in C ++ kennen.

In früheren Tutorials haben wir etwas über Funktionen und Variablen gelernt. Manchmal ist es wünschenswert, verwandte Funktionen und Daten an einem Ort zu platzieren, damit es logisch und einfacher ist, damit zu arbeiten.

Angenommen, wir müssen die Länge, Breite und Höhe eines rechteckigen Raums speichern und seine Fläche und sein Volumen berechnen.

Um diese Aufgabe zu erledigen, können wir drei Variablen erstellen, z. B. Länge, Breite und Höhe, zusammen mit den Funktionen calculateArea()und calculateVolume().

In C ++ können wir diese zugehörigen Daten und Funktionen jedoch nicht an einem einzigen Ort zusammenfassen, anstatt separate Variablen und Funktionen zu erstellen (indem wir Objekte erstellen ). Dieses Programmierparadigma ist als objektorientierte Programmierung bekannt.
Bevor wir jedoch Objekte erstellen und in C ++ verwenden können, müssen wir zunächst etwas über Klassen lernen .

C ++ - Klasse

Eine Klasse ist eine Blaupause für das Objekt.
Wir können uns eine Klasse als Skizze (Prototyp) eines Hauses vorstellen. Es enthält alle Details zu den Böden, Türen, Fenstern usw. Basierend auf diesen Beschreibungen bauen wir das Haus. Haus ist das Objekt.

Erstellen Sie eine Klasse

Eine Klasse wird in C ++ mit dem Schlüsselwort classgefolgt vom Namen der Klasse definiert.

Der Hauptteil der Klasse wird in geschweiften Klammern definiert und am Ende durch ein Semikolon abgeschlossen.

 class className ( // some data // some functions );

Beispielsweise,

 class Room ( public: double length; double breadth; double height; double calculateArea()( return length * breadth; ) double calculateVolume()( return length * breadth * height; ) );

Hier haben wir eine Klasse mit dem Namen definiert Room.

Die in der Klasse deklarierten Variablen Länge, Breite und Höhe werden als Datenelemente bezeichnet . Und die Funktionen calculateArea()und calculateVolume()sind als Elementfunktionen einer Klasse bekannt.

C ++ Objekte

Wenn eine Klasse definiert ist, wird nur die Spezifikation für das Objekt definiert. Es wird kein Speicher oder Speicher zugewiesen.

Um die in der Klasse definierten Daten- und Zugriffsfunktionen verwenden zu können, müssen Objekte erstellt werden.

Syntax zum Definieren von Objekten in C ++

 className objectVariableName;

Wir können RoomKlassenobjekte (im obigen Beispiel definiert) wie folgt erstellen :

 // sample function void sampleFunction() ( // create objects Room room1, room2; ) int main()( // create objects Room room3, room4; )

Hier werden zwei Objekte Raum1 und Raum2 der RoomKlasse erstellt sampleFunction(). Ebenso werden die Objekte Raum3 und Raum4 in erstellt main().

Wie wir sehen können, können wir Objekte einer Klasse in jeder Funktion des Programms erstellen. Wir können auch Objekte einer Klasse innerhalb der Klasse selbst oder in anderen Klassen erstellen.

Außerdem können wir aus einer einzelnen Klasse so viele Objekte erstellen, wie wir möchten.

C ++ - Zugriff auf Datenelemente und Elementfunktionen

Wir können mit einem .(Punkt-) Operator auf die Datenelemente und Elementfunktionen einer Klasse zugreifen . Beispielsweise,

 room2.calculateArea();

Dadurch wird die calculateArea()Funktion innerhalb der RoomKlasse für das Objekt room2 aufgerufen.

Ebenso kann auf die Datenelemente zugegriffen werden als:

 room1.length = 5.5;

In diesem Fall wird die Längenvariable von Raum1 bis initialisiert 5.5.

Beispiel 1: Objekt und Klasse in der C ++ - Programmierung

 // Program to illustrate the working of // objects and class in C++ Programming #include using namespace std; // create a class class Room ( public: double length; double breadth; double height; double calculateArea() ( return length * breadth; ) double calculateVolume() ( return length * breadth * height; ) ); int main() ( // create object of Room class Room room1; // assign values to data members room1.length = 42.5; room1.breadth = 30.8; room1.height = 19.2; // calculate and display the area and volume of the room cout << "Area of Room = " << room1.calculateArea() << endl; cout << "Volume of Room = " << room1.calculateVolume() << endl; return 0; )

Ausgabe

 Raumfläche = 1309 Raumvolumen = 25132.8

In diesem Programm haben wir die RoomKlasse und ihr Objekt room1 verwendet, um die Fläche und das Volumen eines Raums zu berechnen.

In main()haben wir die Werte für Länge, Breite und Höhe mit dem Code zugewiesen:

 room1.length = 42.5; room1.breadth = 30.8; room1.height = 19.2;

Wir haben dann die Funktionen aufgerufen calculateArea()und calculateVolume()die notwendigen Berechnungen durchgeführt.

Beachten Sie die Verwendung des Schlüsselworts publicim Programm. Dies bedeutet, dass die Mitglieder öffentlich sind und überall vom Programm aus zugegriffen werden können.

Gemäß unseren Anforderungen können wir auch private Mitglieder mit dem privateSchlüsselwort erstellen . Auf die privaten Mitglieder einer Klasse kann nur innerhalb der Klasse zugegriffen werden. Beispielsweise,

 class Test ( private:
  int a; void function1() ( ) public: int b; void function2() ( ) ) Here, a and function1() are private and are. Thus they cannot be accessed from outside the class.

Andererseits sind b und function2()von überall im Programm zugänglich.

Weitere Informationen zu öffentlichen und privaten Schlüsselwörtern finden Sie in unserem Tutorial zu C ++ - Klassenzugriffsmodifikatoren.

Beispiel 2: Verwenden von public und private in der C ++ - Klasse

 // Program to illustrate the working of // public and private in C++ Class #include using namespace std; class Room ( private: double length; double breadth; double height; public: // function to initialize private variables void getData(double len, double brth, double hgt) ( length = len; breadth = brth; height = hgt; ) double calculateArea() ( return length * breadth; ) double calculateVolume() ( return length * breadth * height; ) ); int main() ( // create object of Room class Room room1; // pass the values of private variables as arguments room1.getData(42.5, 30.8, 19.2); cout << "Area of Room = " << room1.calculateArea() << endl; cout << "Volume of Room = " << room1.calculateVolume() << endl; return 0; )

Ausgabe

 Raumfläche = 1309 Raumvolumen = 25132.8

Das obige Beispiel ist nahezu identisch mit dem ersten Beispiel, außer dass die Klassenvariablen jetzt privat sind.

Da die Variablen jetzt privat sind, können wir nicht direkt von dort auf sie zugreifen main(). Daher wäre die Verwendung des folgenden Codes ungültig:

 // invalid code obj.length = 42.5; obj.breadth = 30.8; obj.height = 19.2;

Stattdessen verwenden wir die öffentliche Funktion getData()die privaten Variablen über die Funktionsparameter zu initialisieren double len, double brthund double hgt.

Um mehr über Objekte und Klassen zu erfahren, besuchen Sie diese Themen:

  • C ++ - Konstruktoren
  • Wie kann ich ein Objekt von einer Funktion übergeben und zurückgeben?

Interessante Beiträge...