Unterschied zwischen privat und geschützt in C ++

Unterschied zwischen privat und geschützt in C ++
Das Konzept der Kapselung und des Datenverschlusses wird in objektorientierten Programmiersprachen wie C häufig verwendet++. Wenn Sie diese Konzepte wissen, sorgt die Sicherheit und Integrität von Daten in einem Programm. In C ++ werden zwei Zugriffsspezifizierer - privat und geschützt - verwendet, um diese Konzepte durchzusetzen. Dieser Artikel behandelt den Unterschied zwischen privat und geschützt in C ++ und der Art und Weise, wie sie die Sichtbarkeit und Zugänglichkeit von Klassenmitgliedern beeinflussen.

Inhaltsverzeichnis

  • Was sind Zugriffsspezifizierer in C++
  • Was ist privat in C++
  • Was ist in C geschützt++
  • Unterschied zwischen privat und geschützt in c++
  • Beispiele für private und geschützte Zugriffsspezifizierer
  • Abschluss

Was sind Zugriffsspezifizierer in C++

In C ++ sind Zugriffsspezifizierer reservierte Schlüsselwörter, die dem Zweck der Bestimmung der Sichtbarkeit und Zugänglichkeit der Mitglieder einer Klasse dienen. Diese Schlüsselwörter werden verwendet, um in einem Programm den Zugang zu verschiedenen Klassenmitgliedern einzuschränken oder zu ermöglichen.

Zugriffsspezifizierer bestimmen, wohin ein Klassenmitglied zugegriffen werden kann. Mit diesen Spezifikatoren können C ++ - Code von innerhalb oder außerhalb einer Klasse auf ein Klassenmitglied zugreifen. Sie ermöglichen es abgeleiteten Klassen auch, auf die Hauptklassenmitglieder zugreifen zu können.

In C ++ - Zugriffsspezifikatoren können in drei verschiedene Spezifizierer eingeteilt werden:

  • Privatgelände
  • geschützt
  • öffentlich

Diese Spezifizierer kontrollieren die Sichtbarkeit von Klassenmitgliedern, die festlegen, wo und von wem sie im Programm zugegriffen werden können.

Was ist privat in C++

Privatgelände ist ein Zugriffsspezifizierer in C ++, der die Sichtbarkeit und Zugänglichkeit der Klassenmitglieder auf nur die beschränkt Klasse selbst. Mitglieder, die als privat definiert sind, sind nicht von außerhalb der Klasse oder ihren abgeleiteten Klassen zugänglich. Die privaten Mitglieder sind vor anderen Klassen versteckt, was verhindert, dass sie die Daten ändern oder zugreifen.

Was ist in C geschützt++

Geschützt ist ein Zugriffsspezifizierer in C ++, der die Sichtbarkeit und Zugänglichkeit der Klassenmitglieder auf die beschränkt Klasse selbst und sein abgeleitete Klassen. Als geschützte Mitglieder können aus einer Klasse oder ihren abgeleiteten Klassen zugegriffen werden, jedoch nicht von außerhalb der Klasse. Die geschützten Mitglieder sind auch vor anderen Klassen versteckt, wodurch sie daran hindert, die Daten zu ändern oder zugreifen.

Unterschied zwischen privat und geschützt in c++

Der Hauptunterschied zwischen privat und geschützt in C ++ ist die Zugänglichkeit der Klassenmitglieder. Der Zugang zu privaten Mitgliedern ist innerhalb der Klasse eingeschränkt, während geschützte Mitglieder auch aus abgeleiteten Klassen zugänglich sind.

Ein weiterer Unterschied besteht darin, dass private Mitglieder vollständig vor anderen Klassen versteckt sind, während geschützte Mitglieder teilweise versteckt sind. Dies bedeutet, dass abgeleitete Klassen auf geschützte Mitglieder zugreifen können, diese jedoch nicht direkt ändern können. Im Gegensatz dazu können private Mitglieder von keiner anderen Klasse zugegriffen oder geändert werden.

Beispiele für private und geschützte Zugriffsspezifizierer

Um das Konzept von Zugriffsspezifizierern in der objektorientierten Programmierung zu demonstrieren, ist es hilfreich, Beispiele für private und geschützte Zugriffsspezifizierer anzugeben. Schauen wir uns genauer an, wie private und geschützte Zugangsspezifizierer und einige Beispiele dafür sind, wie sie verwendet werden können.

Beispiel für Privatklassen in C++

Der private Zugriffsspezifizierer beschränkt die Sichtbarkeit eines Klassenmitglieds innerhalb der Klasse selbst. Der folgende Code erläutert die private Klasse in einem C ++ - Programm:

#enthalten
Verwenden von Namespace STD;
Klassenperson
// Private Mitglieder
Privatgelände:
String Fullname;
int jahrelold;
// öffentliche Mitglieder
öffentlich:
void GetpersonInfo ()

Cout << "Enter full name: ";
Getline (Cin, Fullname);
Cout << "Enter age in years: ";
CIN >> Jahre alt;

void displayPersonInfo ()

Cout << "Name: " << fullName << endl;
Cout << "Age: " << yearsOld << endl;

;
// Hauptfunktion
int main ()

// Objekt erstellen
Person;
Person.GetpersonInfo ();
Person.displayPersonInfo ();
Rückkehr 0;

Dieses C ++ - Programm definiert eine Klassenperson mit zwei privaten Mitgliedsvariablen vollständiger Name Und Jahreolde, und zwei öffentliche Mitgliederfunktionen GetpersonInfo () Und displayPersonInfo ().

Die Funktion getPersonInfo () fordert den Benutzer auf, den vollständigen Namen und Alter der Person einzugeben. Danach speichert sie in den Variablen für private Mitgliedsvariablen und Jahre alt.

Die Funktion displayPersonInfo () druckt einfach den Namen und das Alter der Person in die Konsole aus.

In der Funktion main () erstellen wir eine Objektperson der Personklasse und rufen die Funktion von GetPersonInfo () und displayPersonInfo () auf, um den Benutzer zu fordern, die Informationen einer Person einzugeben und sie dann auf der Konsole anzuzeigen.

Schutzklassenbeispiel in C++

Der geschützte Zugriffsspezifizierer begrenzt die Sichtbarkeit eines Klassenmitglieds innerhalb der Klasse und der Unterklassen. Nehmen wir ein Beispiel, das geschützte Klassen in einem C ++ - Programm erklärt.

#enthalten
Verwenden von Namespace STD;
// Basisklasse
Klassenperson
// Private Mitglieder
Privatgelände:
String Fullname;
int Alter;
// geschütztes Mitglied
geschützt:
int idnumber;
// öffentliche Mitglieder
öffentlich:
void GetpersonInfo ()

Cout << "Enter full name: ";
Getline (Cin, Fullname);
Cout << "Enter age: ";
Cin >> Alter;

void displayPersonInfo ()

Cout << "Name: " << fullName << endl;
Cout << "Age: " << age << endl;

;
// abgeleitete Klasse
Klassenstudent: öffentliche Person
// Private Mitglieder
Privatgelände:
Saite City;
// öffentliche Mitglieder
öffentlich:
void setId (int id)

// Hier ist Idnumber das geschützte Personenmitglied
// Klasse, es ist hier zugänglich
idnumber = id;

void getStudentInfo ()

// GetpersonInfo () anrufen, um grundlegende Details zu lesen
GetpersonInfo ();
// Eingabestadt
Cout << "Enter city: ";
Cin >> Stadt;

void displayStudentInfo ()

// ID -Nummer anzeigen
Cout << "ID Number: " << idNumber << endl;
// displayPersonInfo () aufrufen, um grundlegende Details zu drucken
displayPersonInfo ();
// auch Stadt anzeigen
Cout << "City: " << city << endl;

;
// Hauptfunktion
int main ()

// Objekt erstellen
Student;
// ID -Nummer einstellen
Student.setID (12345);
// Alle Details bekommen
Student.getstudentInfo ();
// alle Details drucken
Student.displayStudentInfo ();
Rückkehr 0;

Hier in diesem Code ist die Basisklasse eine Person mit privaten Mitgliedern vollständiger Name und Alter und ein geschütztes Mitglied idnumber. Die abgeleitete Klasse ist ein Student mit einem privaten Mitglied der Stadt und des öffentlichen Mitglieds SetID (), GetstudentInfo () und DisplayStudentInfo ().

Die Funktion setID () legt die ID -Nummer fest, die a definiert geschütztes Mitglied der Basisklasse. Die Funktion GetstudentInfo () liest die grundlegenden Details des Schülers wie voller Name, Alter und der Stadt, in der sie leben.

Der DisplayStudentInfo () Funktion druckt alle Details des Schüler.

Abschluss

Private und geschützte Zugriffsspezifizierer in der objektorientierten Programmierung Gewährleisten Sie die Einkapselung und Datenverschluss. Private Mitglieder sind vollständig vor anderen Klassen versteckt, während geschützte Mitglieder teilweise versteckt sind und durch abgeleitete Klassen zugreifen können. Die Wahl zwischen der Verwendung privater und geschützter Zugriffsspezifizierer hängt von der Gestaltung und Implementierung der Klasse ab. Lesen Sie den Artikel, um die Details von privaten und geschützten Zugriffsspezifizierern zu verstehen.