Diferencia entre privada y protegida en C ++ con el Ejemplo

privada vs protegido en C ++ : En este tutorial, vamos a aprender acerca de los miembros privados y miembros protegidos en C ++ , ¿cuáles son las diferencias entre lo privado y protegido miembros en C ++?

En el concepto de objetos de clase C ++, hay tres modificadores de acceso: 1) privadas , 2) protegidos y 3) pública . Se utilizan en función de sus propiedades. Aquí, vamos a entender lo que son miembros privados y protegidos y cuáles son las diferencias entre ellos?

1) Los miembros privados

Los miembros privados se declaran con la palabra clave privadas seguido de los dos puntos (: ) personaje de la clase y que son accesibles dentro de la única clase en el que se declaran . Los miembros privados no se puede acceder fuera de la clase.

Los miembros privados pueden ser miembros de datos (variables) y las funciones miembro (funciones) y ambos pueden ser visitada dentro de la misma clase, pueden ser utilizados dentro de las funciones miembro privadas / públicas de la misma clase.

Consideremos el siguiente ejemplo, que contiene dos miembros privados nombre y ciudad y ellos están siendo utilizados dentro de las funciones miembro públicas GetPerson () y dispPerson () .

// example of private members
#include <iostream>
using namespace std;
class person {
// private memebers
private:
string name;
int age;
// public memebers
public:
void getPerson()
{
cout << "Enter name: ";
cin >> name;
cout << "Enter age: ";
cin >> age;
}
void dispPerson()
{
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
}
};
// main function
int main()
{
//creating object
person per;
per.getPerson();
per.dispPerson();
return 0;
}

salida

Enter name: Shivang
Enter age: 21
Name: Shivang
Age: 21

2) Los miembros protegidos

Los miembros protegidos se declaran con la palabra clave protegida seguido de los dos puntos (: ) personaje de la clase y que sean accesibles dentro de la clase en la que se declaran y también accesible en el o subclase derivada . Los miembros protegidos se utilizan en el concepto de herencia. Al igual que los miembros privados miembros protegidos no se puede acceder fuera de la clase (excepto en la clase derivada).

miembros protegidas pueden ser miembros de datos (variables) y las funciones miembro (funciones) y ambos pueden ser visitada dentro de la misma clase y derivado o subclase o niño clase.

Considere el siguiente ejemplo, hay dos clases persona que es una clase base y person2 cual una clase derivada, persona clase contiene dos miembros privados nombre y ciudad , un miembro protegido roll_no y miembros privados se utilizan dentro de las funciones miembro públicas GetPerson () y dispPerson () .

En el person1 clase , hay un miembro privado ciudad y tres funciones miembro públicas set_roll_no () – que se usa para establecer el valor de roll_no que es un miembro protegido en persona de clase , getPerson1 () – que está llamando a la GetPerson () función miembro de persona clase y también conseguir la entrada de la ciudad . Del mismo modo, dispPerson1 () – que está llamando a la dispPerson () función miembro y también imprimir el valor de roll_no y ciudad .

// example of protected members
#include <iostream>
using namespace std;
// base class
class person {
//private members
private:
string name;
int age;
// protected member
protected:
int roll_no;
//public members
public:
void getPerson()
{
cout << "Enter name: ";
cin >> name;
cout << "Enter age: ";
cin >> age;
}
void dispPerson()
{
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
}
};
// derived class
class person1 : public person {
// private members
private:
string city;
// public members
public:
void set_roll_no(int r)
{
// here roll_no is the protected member of person
// class, it is accessible here
roll_no = r;
}
void getPerson1()
{
// calling getPerson() to read basic details
getPerson();
// input city
cout << "Enter city: ";
cin >> city;
}
void dispPerson1()
{
// displaying roll_no
cout << "Roll No.: " << roll_no << endl;
// calling dispPerson() to print basic details
dispPerson();
// displaying city also
cout << "City: " << city << endl;
}
};
// main function
int main()
{
//creating object
person1 per;
// setting roll number
per.set_roll_no(101);
// getting all details
per.getPerson1();
// printing all details
per.dispPerson1();
return 0;
}

salida

Enter name: Shivang
Enter age: 21
Enter city: Indore
Roll No.: 101
Name: Shivang
Age: 21
City: Indore

Diferencia entre los miembros privados y protegidos

Los miembros privados
Los miembros protegidos

Los miembros privados se declaran con la palabra clave privada seguido de una dos puntos (: ) carácter. Los miembros protegidos se declaran con la palabra clave protegida seguido de dos puntos (: ) carácter.
Los miembros privados son accesibles dentro de la misma clase en la que se declaran. miembros protegidas son accesibles dentro de la misma clase y dentro de la sub clase derivada / / niño.
miembros privados también se puede acceder a través de la función de amigo. miembros protegidos no se puede acceder a través de la función de amigo.


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *