O que é privado e público em C ++?


Melhor resposta

Público e privado são mecanismos de proteção para nossas classes em C ++. Se uma variável / função de membro for pública, ela pode ser usada em qualquer lugar da classe. Se uma variável / função de membro for privada, ela só pode ser acessada por funções de membro dessa classe.

É uma boa ideia use privado quando puder. Não queremos que o usuário final tenha acesso aos dados que não deveria. Por exemplo, imagine que estou escrevendo um programa que permitirá ao usuário jogar um jogo de cartas. Primeiro, o programa imprimirá os cartões que o jogador possui. Em seguida, o usuário irá inserir qual carta ele gostaria de jogar. Nesse caso, eu provavelmente gostaria que os cartões fossem privados de alguma forma. Não quero que o usuário mude os cartões e faça cartões que não existem.

Para acessar variáveis ​​/ funções de membros privados, você pode usar funções públicas. Por exemplo, se eu tiver uma variável privada chamada número int, poderia escrever uma função de membro pública para acessar essa variável, chamada getNumber (). Dessa forma, posso acessar o número e usá-lo em qualquer lugar, mas não preciso me preocupar com o número sendo usado incorretamente.

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;

};

Resposta

Em C ++ privado significa que só pode ser usado pela classe internamente e não pode ser acessado fora da referida classe, enquanto public significa que ela pode ser acessada fora da classe.

Por exemplo, se você fizer uma instância de sua classe, não poderá acessar diretamente as variáveis ​​e métodos privados, e isso causará um erro se você tentar fazer isso.

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;

}

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *