C++ Memberfunktionen einer Klasse

C++ Klassen und Objekte

Memberfunktionen einer Klasse sind Funktionen, deren Definitionen und Prototypen innerhalb der Klassendefinition geschrieben werden, genau wie andere Variablen in der Klassendefinition. Eine Memberfunktion einer Klasse ist ein Member der Klasse; sie kann mit jedem Objekt der Klasse arbeiten und auf alle Member im Objekt zugreifen.

Schauen wir uns die zuvor definierte Klasse Box an. Jetzt möchten wir Memberfunktionen verwenden, um auf die Member der Klasse zuzugreifen, anstatt direkt auf diese Klassenmember zuzugreifen:

class Box { public: double length; // Länge double breadth; // Breite double height; // Höhe double getVolume(void);// Volumen zurückgeben };

Memberfunktionen können innerhalb der Klassendefinition definiert werden oder separat mit demBereichsauflösungsoperator ::definiert werden. In der Klassendefinition definierte Memberfunktionen deklarieren die Funktion alsInlineinline, auch wenn der inline-Bezeichner nicht verwendet wird. Sie können also definierengetVolume()Funktion:

class Box { public: double length; // Länge double breadth; // Breite double height; // Höhe double getVolume(void) { return length * breadth * height; } };

Sie können ihn auch außerhalb der Klasse verwenden.Bereichsauflösungsoperator ::Definieren Sie die Funktion wie folgt:

double Box::getVolume(void) { return length * breadth * height; }

Hier muss ein Punkt betont werden: Der Klassenname muss vor dem ::-Operator verwendet werden. Der Aufruf einer Memberfunktion verwendet den Punktoperator für das Objekt (.), damit sie mit Daten arbeiten kann, die zu diesem Objekt gehören, wie folgt:

Box myBox; // Ein Objekt erstellen myBox.getVolume(); // Memberfunktion des Objekts aufrufen

Lassen Sie uns die oben genannten Konzepte verwenden, um die Werte der verschiedenen Member in der Klasse festzulegen und abzurufen:

Beispiel

#include <iostream> using namespace std; class Box { public: double length; // Länge double breadth; // Breite double height; // Höhe // Memberfunktionsdeklaration double getVolume(void); void setLength( double len ); void setBreadth( double bre ); void setHeight( double hei ); }; // Memberfunktionsdefinition double Box::getVolume(void) { return length * breadth * height; } void Box::setLength( double len ) { length = len; } void Box::setBreadth( double bre ) { breadth = bre; } void Box::setHeight( double hei ) { height = hei; } // Die Hauptfunktion des Programms int main( ) { Box Box1; // Box1 vom Typ Box deklarieren Box Box2; // Box2 vom Typ Box deklarieren double volume = 0.0; // Wird zum Speichern des Volumens verwendet // Details zu Box 1 Box1.setLength(6.0); Box1.setBreadth(7.0); Box1.setHeight(5.0); // Details zu Box 2 Box2.setLength(12.0); Box2.setBreadth(13.0); Box2.setHeight(10.0); // Volumen von Box 1 volume = Box1.getVolume(); cout << "Volumen von Box1:" << volume <<endl; // Volumen von Box 2 volume = Box2.getVolume(); cout << "Volumen von Box2:" << volume <<endl; return 0; }

Wenn der obige Code kompiliert und ausgeführt wird, liefert er die folgenden Ergebnisse:

Box1 的体积: 210
Box2 的体积: 1560

C++ Klassen und Objekte

Weitere Erweiterungen