Vad är privat och offentligt i C ++?


Bästa svaret

Offentlig och privat är skyddsmekanismer för våra klasser i C ++. Om en medlemsvariabel / funktion är offentlig kan den användas var som helst inom klassen. Om en medlemsvariabel / funktion är privat kan den endast nås av medlemsfunktioner i den klassen.

Det är en bra idé att använd privat när du kan. Vi vill inte att slutanvändaren ska ha tillgång till data som de inte borde. Tänk dig till exempel att jag skriver ett program som gör det möjligt för en användare att spela ett kortspel. Först kommer programmet att skriva ut de kort som spelaren har. Då kommer användaren att mata in vilket kort de vill spela. I det här fallet skulle jag sannolikt vilja att korten skulle vara privata på något sätt. Jag vill inte att användaren ska byta kort och skapa kort som inte finns.

För att komma åt privata medlemsvariabler / funktioner kan du använda offentliga funktioner. Till exempel, om jag har en privat variabel som heter int-nummer, kan jag skriva en offentlig medlemsfunktion för att komma åt den variabeln, kallad getNumber (). På det här sättet kan jag komma åt numret och använda det var som helst, men jag behöver inte oroa mig för att numret används felaktigt.

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;

};

Svar

I C ++ privat betyder det att det bara kan användas av klassen internt och inte kan nås utanför nämnda klass, medan public betyder att den kan nås utanför klassen.

Till exempel om du gör en instans av din klass kan du inte direkt få tillgång till de privata variablerna och metoderna, och det kommer att orsaka ett fel om du försöker göra det.

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;

}

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *