Quest-ce que privé et public en C ++?


Meilleure réponse

Le public et le privé sont des mécanismes de protection pour nos classes en C ++. Si une variable / fonction membre est publique, elle peut être utilisée nimporte où dans la classe. Si une variable / fonction membre est privée, elle nest accessible que par les fonctions membres de cette classe.

Cest une bonne idée de utilisez privé quand vous le pouvez. Nous ne voulons pas que lutilisateur final ait accès à des données quil ne devrait pas. Par exemple, imaginez que jécris un programme qui permettra à un utilisateur de jouer à un jeu de cartes. Tout dabord, le programme imprimera les cartes du joueur. Ensuite, lutilisateur saisira la carte quil souhaite jouer. Dans ce cas, je voudrais probablement que les cartes soient privées dune manière ou dune autre. Je ne veux pas que lutilisateur change les cartes et crée des cartes qui nexistent pas.

Pour accéder aux variables / fonctions des membres privés, vous pouvez utiliser des fonctions publiques. Par exemple, si jai une variable privée appelée int number, je pourrais écrire une fonction membre publique pour accéder à cette variable, appelée getNumber (). De cette façon, je peux accéder au numéro et lutiliser nimporte où, mais je nai pas à minquiéter du fait que le numéro soit mal utilisé.

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;

};

Réponse

En C ++, privé signifie quil ne peut être utilisé que par la classe en interne et nest pas accessible en dehors de ladite classe, alors que public signifie quelle est accessible en dehors de la classe.

Par exemple, si vous créez une instance de votre classe, vous ne pouvez pas accéder directement aux variables et méthodes privées, et cela entraînera une erreur si vous essayez de le faire.

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;

}

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *