Migliore risposta
Pubblico e privato sono meccanismi di protezione per le nostre classi in C ++. Se una variabile / funzione membro è pubblica, può essere utilizzata ovunque allinterno della classe. Se una variabile / funzione membro è privata, è possibile accedervi solo dalle funzioni membro di quella classe.
È una buona idea usa privato quando puoi. Non vogliamo che lutente finale abbia accesso a dati che non dovrebbe. Ad esempio, immagina che io stia scrivendo un programma che permetterà a un utente di giocare a carte. Per prima cosa, il programma stamperà le carte che il giocatore ha. Quindi lutente inserirà quale carta vorrebbe giocare. In questo caso, probabilmente vorrei che le carte fossero private in qualche modo. Non voglio che lutente cambi le carte e crei carte che non esistono.
Per accedere alle variabili / funzioni dei membri privati, puoi usare le funzioni pubbliche. Ad esempio, se ho una variabile privata chiamata int numero, potrei scrivere una funzione membro pubblica per accedere a quella variabile, chiamata getNumber (). In questo modo, posso accedere al numero e usarlo ovunque, ma non devo preoccuparmi che il numero venga utilizzato in modo errato.
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;
};
Risposta
In C ++ privato significa che può essere usato solo dalla classe internamente e non è accessibile al di fuori di detta classe, mentre public significa che è possibile accedervi al di fuori della classe.
Ad esempio, se crei unistanza della tua classe, non puoi accedere direttamente alle variabili e ai metodi privati, e ciò causerà si verifica un errore se si tenta di farlo.
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;
}