Definition einer Klasse mit privaten Datenelementen
Eine Klasse in C++ ist ein Bauplan für die Erstellung von Objekten. Sie definiert eine Reihe von Eigenschaften (Datenelemente) und Methoden (Memberfunktionen), die die aus der Klasse erstellten Objekte haben werden. Klassen helfen bei der Organisation von Code und bei der Umsetzung von Prinzipien der objektorientierten Programmierung wie Kapselung, Vererbung und Polymorphismus.
Die grundlegende Syntax für die Definition einer Klasse in C++ lautet wie folgt:
class ClassName {
private:
// Private data members
int dataMember1;
std::string dataMember2;
public:
// Public member functions
void memberFunction1();
int memberFunction2();
};
Es gibt drei Zugriffsspezifizierer in C++, die die Sichtbarkeit und Zugänglichkeit von Klassenelementen steuern:
private
: Elemente, die als privat deklariert sind, sind nur innerhalb der Klasse zugänglich.
public
: Elemente, die als öffentlich deklariert sind, sind von außerhalb der Klasse zugänglich.
protected
: Elemente, die als geschützt deklariert sind, sind innerhalb der Klasse und durch Instanzen abgeleiteter Klassen zugänglich.
In diesem Schritt werden Sie lernen, wie Sie eine Klasse mit privaten Datenelementen in C++ definieren. Private Datenelemente sind ein wesentliches Konzept in der objektorientierten Programmierung, das hilft, den internen Zustand eines Objekts zu kapseln und zu schützen.
Öffnen Sie zunächst die WebIDE und navigieren Sie zum Verzeichnis ~/project
. Erstellen Sie eine neue Datei namens student.cpp
:
touch ~/project/student.cpp
Öffnen Sie die Datei student.cpp
in der WebIDE und fügen Sie den folgenden Code hinzu, um eine Student
-Klasse mit privaten Datenelementen zu definieren:
#include <iostream>
#include <string>
class Student {
private:
// Private data members
std::string name;
int age;
double gpa;
public:
// We'll add methods to interact with these private members in later steps
void displayInfo() {
std::cout << "Name: " << name << std::endl;
std::cout << "Age: " << age << std::endl;
std::cout << "GPA: " << gpa << std::endl;
}
};
int main() {
Student student;
// Note: We can't directly access private members
// student.name = "John"; // This would cause a compilation error
student.displayInfo();
return 0;
}
Lassen Sie uns die wichtigsten Konzepte aufschlüsseln:
-
Private Datenelemente:
- Mit dem Zugriffsspezifizierer
private:
deklariert
- Können nicht direkt von außerhalb der Klasse zugegriffen werden
- Bieten Datenschutz und Kapselung
-
Datentypen:
std::string name
: Speichert den Namen des Schülers
int age
: Speichert das Alter des Schülers
double gpa
: Speichert die Durchschnittsnote des Schülers
-
Kapselung:
- Private Elemente können nur über öffentliche Methoden zugegriffen werden
- Verhindert die direkte Modifikation interner Daten
Kompilieren Sie das Programm:
g++ student.cpp -o student
./student
Beispielausgabe beim Ausführen des Programms:
Name:
Age: 0
GPA: 0
Wichtige Punkte:
- Private Elemente sind vor externem Zugriff verborgen
- Sie können nur über Klassenmethoden modifiziert werden
- Dies hilft, die Datenintegrität und -kontrolle aufrechtzuerhalten