Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

C++-Klassen und -Objekte

C++-Klassen und -Objekte

In diesem Tutorial lernen wir anhand von Beispielen etwas über Objekte und Klassen und wie man sie in C++ verwendet.

In vorherigen Tutorials haben wir Funktionen und Variablen kennengelernt. Manchmal ist es wünschenswert, verwandte Funktionen und Daten an einem Ort abzulegen, damit sie logisch und einfacher zu bearbeiten sind.

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 bewältigen, können wir drei Variablen erstellen, sagen wir length , Breite , und Höhe zusammen mit den Funktionen calculateArea() und calculateVolume() .

In C++ können wir jedoch, anstatt separate Variablen und Funktionen zu erstellen, diese verwandten Daten und Funktionen auch an einem einzigen Ort zusammenfassen (indem wir Objekte erstellen ). Dieses Programmierparadigma wird als objektorientierte Programmierung bezeichnet.

Aber vorher können wir Objekte erstellen und sie in C++ verwenden, müssen wir zuerst 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 Böden, Türen, Fenstern usw. Auf der Grundlage dieser Beschreibungen bauen wir das Haus. Haus ist das Objekt.

Klasse erstellen

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

Der Körper der Klasse wird innerhalb der geschweiften Klammern definiert und am Ende durch ein Semikolon abgeschlossen.

class className {
   // some data
   // some functions
};

Zum Beispiel

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 namens Room definiert .

Die Variablen Länge , Breite , und Höhe innerhalb der Klasse deklariert werden als Datenmitglieder bezeichnet . Und die Funktionen calculateArea() und calculateVolume() werden als Elementfunktionen bezeichnet einer Klasse.


C++-Objekte

Wenn eine Klasse definiert wird, wird nur die Spezifikation für das Objekt definiert; es wird kein Arbeits- oder Speicher zugewiesen.

Um die in der Klasse definierten Daten- und Zugriffsfunktionen zu verwenden, müssen wir Objekte erstellen.


Syntax zum Definieren von Objekten in C++

className objectVariableName;

Wir können Objekte von Room erstellen Klasse (im obigen Beispiel definiert) wie folgt:

// sample function
void sampleFunction() {
    // create objects
    Room room1, room2;
}

int main(){
    // create objects 
    Room room3, room4;
}

Hier zwei Objekte room1 und Raum2 der Room Klasse werden in sampleFunction() erstellt . Ebenso die Objekte room3 und Raum4 wurden in main() erstellt .

Wie wir sehen, 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 einzigen Klasse beliebig viele Objekte erstellen.


C++ Access Data Members und Memberfunktionen

Wir können auf die Datenelemente und Elementfunktionen einer Klasse zugreifen, indem wir einen . verwenden (Punkt)-Operator. Zum Beispiel

room2.calculateArea();

Dadurch wird calculateArea() aufgerufen Funktion innerhalb des Room Klasse für das Objekt room2 .

Ebenso kann auf die Datenmitglieder zugegriffen werden als:

room1.length = 5.5;

In diesem Fall initialisiert es die Länge Variable von room1 bis 5.5 .


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

// Program to illustrate the working of
// objects and class in C++ Programming

#include <iostream>
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

Area of Room =  1309
Volume of Room =  25132.8

In diesem Programm haben wir den Room verwendet Klasse und ihr Objekt room1 um die Fläche und das Volumen eines Raumes zu berechnen.

In main() , haben wir die Werte von length zugewiesen , Breite , und Höhe mit dem Code:

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

Wir haben dann die Funktionen calculateArea() aufgerufen und calculateVolume() um die notwendigen Berechnungen durchzuführen.

Beachten Sie die Verwendung des Schlüsselworts public im Programm. Das bedeutet, dass die Mitglieder öffentlich sind und überall vom Programm aus zugegriffen werden kann.

Je nach Bedarf können wir auch private Mitglieder mit dem private erstellen Stichwort. Auf die privaten Elemente einer Klasse kann nur innerhalb der Klasse zugegriffen werden. Zum Beispiel,

class Test {

private:
    int a;
    void function1() { }

public:
    int b;
    void function2() { }
}

Hier, ein und function1() sind privat. Daher kann von außerhalb der Klasse nicht auf sie zugegriffen werden.

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

Um mehr über öffentliche und private Schlüsselwörter zu erfahren, besuchen Sie bitte unser C++ Class Access Modifiers Tutorial.


Beispiel 2:Verwendung von öffentlich und privat in der C++-Klasse

// Program to illustrate the working of
// public and private in C++ Class

#include <iostream>
using namespace std;

class Room {

   private:
    double length;
    double breadth;
    double height;

   public:

    // function to initialize private variables
    void initData(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.initData(42.5, 30.8, 19.2);

    cout << "Area of Room =  " << room1.calculateArea() << endl;
    cout << "Volume of Room =  " << room1.calculateVolume() << endl;

    return 0;
}

Ausgabe

Area of Room =  1309
Volume of Room =  25132.8

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

Da die Variablen jetzt privat sind, können wir von main() nicht direkt darauf zugreifen . 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 initData() um die privaten Variablen über die Funktionsparameter double len zu initialisieren , double brth , und double hgt .

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


C Sprache

  1. C#-Klasse und -Objekt
  2. Abstrakte C#-Klasse und -Methode
  3. C# Teilklasse und Teilmethode
  4. Versiegelte C#-Klasse und -Methode
  5. C++ Friend-Funktion und Friend-Klassen
  6. C++-Klassenvorlagen
  7. Java-Klasse und -Objekte
  8. Strukturen und Klassen in C++
  9. Unterschied zwischen Struktur und Klasse:Erklärt mit C++-Beispiel
  10. Speicherklassen in C++