Was ist privat und öffentlich in C ++?


Beste Antwort

Öffentlich und privat sind Schutzmechanismen für unsere Klassen in C ++. Wenn eine Mitgliedsvariable / -funktion öffentlich ist, kann sie an einer beliebigen Stelle innerhalb der Klasse verwendet werden. Wenn eine Mitgliedsvariable / -funktion privat ist, kann nur über Mitgliedsfunktionen dieser Klasse darauf zugegriffen werden.

Dies ist eine gute Idee Verwenden Sie privat, wenn Sie können. Wir möchten nicht, dass der Endbenutzer Zugriff auf Daten hat, die er nicht sollte. Stellen Sie sich zum Beispiel vor, ich schreibe ein Programm, mit dem ein Benutzer ein Kartenspiel spielen kann. Zuerst druckt das Programm die Karten aus, die der Spieler hat. Dann gibt der Benutzer ein, welche Karte er spielen möchte. In diesem Fall möchte ich wahrscheinlich, dass die Karten in irgendeiner Weise privat sind. Ich möchte nicht, dass der Benutzer die Karten ändert und Karten erstellt, die nicht vorhanden sind.

Um auf Variablen / Funktionen privater Mitglieder zuzugreifen, können Sie öffentliche Funktionen verwenden. Wenn ich beispielsweise eine private Variable namens int number habe, könnte ich eine öffentliche Memberfunktion schreiben, um auf diese Variable namens getNumber () zuzugreifen. Auf diese Weise kann ich auf die Nummer zugreifen und sie überall verwenden, muss mir aber keine Sorgen machen, dass die Nummer falsch verwendet wird.

class Count{

public:

/*numberPub can be used anywhere in the class Count */

int numberPub;

/*This will return our private variable, numberPri. This way, we can return the variable, but we do not have to worry about access, such as a user modifying the value when they shouldn"t. */

int getNumberPri();

private:

/*numberPri cannot be used anywhere in the class Count. If we want to use numberPri in Count, we must use getNumberPri() to access it*/

int numberPri;

};

Antwort

In C ++ bedeutet privat, dass es nur von der Klasse intern verwendet werden kann und auf die nicht zugegriffen werden kann außerhalb der genannten Klasse, während public bedeutet, dass außerhalb der Klasse auf sie zugegriffen werden kann.

Wenn Sie beispielsweise eine Instanz Ihrer Klasse erstellen, können Sie nicht direkt auf die privaten Variablen und Methoden zugreifen, und dies führt dazu Ein Fehler, wenn Sie dies versuchen.

class Example

{

private:

int private\_data;

int public\_data;

};

int main(int argc, char* argv[])

{

// create an instance

Example example;

// public variables and methods can be accessed

example.public\_data = 100;

// private variables and methods can only be accessed inside

// the class

// this next line will cause an error

example.private\_data = 1;

return 0;

}

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.