Neste artigo, discutiremos a diferença entre os dois principais especificador de acessos, privado e protegido membros de uma classe C ++.
Especificador de acesso privado
Membros particulares são declarados usando a palavra -chave 'privado'. O Especificador de acesso privado Limita o acesso aos alunos da classe apenas à própria classe. O código fora da classe não pode acessar ou alterar um membro privado. Isso significa que apenas os métodos declarados na classe podem acessar e operar no membros particulares, Nem mesmo classes derivadas podem acessar membros particulares. Um uso comum de membros particulares é garantir a operação correta de uma classe. Membros particulares são usados para encapsular os dados da classe e fornecer um nível de abstração aos usuários da classe.
#incluir
usando namespace std;
Classe Player
privado:
nome da string;
Int Age;
público:
Void GetPlayer ()
cout << "Enter name: ";
Cin >> nome;
cout << "Enter age: ";
Cin >> idade;
Void Showplayer ()
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
;
int main ()
jogador pl;
pl.getPlayer ();
pl.showplayer ();
retornar 0;
No código acima, usamos os métodos de membro público getPlayer () e showplayer () Para acessar os dois privado membros' nome e idade. O getPlayer () A função obtém a entrada dos usuários e a exibe na tela via showplayer () função.
Saída
Especificador de acesso protegido
Membros protegidos de uma classe pode ser acessada pelas classes derivadas e pelas funções membros da própria classe. Membros protegidos são usados para fornecer um nível de acesso às classes derivadas sem expor os detalhes da implementação ao mundo exterior. Membros protegidos são declarados usando a palavra -chave 'protegido' e a Cólon (:) personagem. Membros protegidos Permita que uma classe seja estendida e modificada, sem comprometer sua integridade. Uma classe derivada pode usar membros protegidos refinar ou personalizar o comportamento de uma classe base.
Aqui está um exemplo de classe com membros protegidos:
#incluir
usando namespace std;
Classe Player
privado:
nome da string;
Int Age;
protegido:
objetivos int;
público:
Void GetPlayer ()
nome cout;
idade da idade;
Void Showplayer ()
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
;
Classe Player1: Public Player
privado:
país de cordas;
público:
void set_goals (int g)
objetivos = g;
Void GetPlayer1 ()
getPlayer ();
país cout;
Void Showplayer1 ()
cout << "goals: " << goals << endl;
showplayer ();
cout << "Country: " << country << endl;
;
int main ()
jogador1 pl;
pl.set_goals (101);
pl.getPlayer1 ();
pl.showplayer1 ();
retornar 0;
O jogador A classe compreende dois membros particulares, nome e idade, um protegido membro, metas, e privado Os membros são utilizados dentro do público Funções de membros, getPlayer () e showplayer (). Existem duas classes, jogador e jogador1, ambos são classes base. Um privado membro, país, e três público Métodos de membros compõem o jogador1 aula. Set_goals () é usado para mudar o membro protegido metas' valor. getPlayer1 () chama o getPlayer () função de membro do jogador aula enquanto recupera a entrada para o país. Semelhante a isso, showplayer1 () chama o showplayer () função de membro e imprime o metas e país valores.
Saída
Diferença entre membros privados e protegidos das classes C ++
Aqui estão listados algumas das principais diferenças entre Privado e Protegido membros das classes C ++.
1: escopo e funcionalidade
Ao considerar o uso de especificadores de acesso, é crucial pensar cuidadosamente sobre o escopo e funcionalidade do programa. A Especificador de acesso privado fornece o nível mais alto de segurança e evita acesso não intencional a variáveis e métodos. Por outro lado, um Especificador de acesso protegido Oferece uma gama mais extensa de acessibilidade e flexibilidade, o que é essencial ao planejar as classes derivadas de uma classe base.
2: Nível de acesso
A principal diferença entre privado e membros protegidos é o nível de acesso que eles fornecem. Protegido Os membros podem ser acessíveis pelas classes derivadas da classe e funções membros, mas privado Os membros só podem ser obtidos pelas funções membros da classe.
3: Encapsulamento da aula
Outra diferença crucial entre privado e protegido Os membros são seu papel na manutenção do encapsulamento da classe. Para isolar os dados e fornecer aos usuários da classe algum nível de abstração, privado Os membros são empregados. Protegido Os membros são empregados para gerenciar a estrutura de herança e fornecer acesso aos membros da classe base por classes derivadas.
Pensamentos finais
Privado e membros protegidos são os dois níveis de acesso essenciais na classe C ++. O privado Specificador de acesso torna os membros da classe inacessíveis a todos os usuários externos e é usado para manter as informações privado dentro da classe. Por outro lado, um protegido O especificador de acesso permite o acesso aos membros da classe apenas por classes derivadas, é usado para fornecer funcionalidade de classe base e permite modificação sem alterar o comportamento da classe base. O nível de acesso dos membros da classe desempenha um papel crucial na manutenção do encapsulamento da classe e no fornecimento de um nível de acesso aos usuários da classe.