English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Acceder a un ejemplo de polimorfismo en C ++Miembros protegidos en la clase derivada de C

Acceder a un ejemplo de polimorfismo en C ++La clase tiene secciones públicas, privadas y protegidas, que contienen los miembros de la clase correspondientes.

No se puede acceder a los miembros de datos privados desde fuera de la clase. Solo se pueden acceder a través de la clase o funciones amigas. Por defecto, todos los miembros de una clase son privados.

Los miembros protegidos de una clase son similares a los miembros privados, pero pueden ser accedidos por la clase derivada o subclase, mientras que los miembros privados no pueden.

El programa a continuación muestra cómo se pueden acceder a los miembros privados y protegidos de una clase:

Ejemplo

#include <iostream>
using namespace std;
class Base {
   public :
   int a = 8;
   protected :
   int b = 10;
   private :
   int c = 20;
};
class Derived : public Base {
   public :
   void func() {
      cout << "El valor de a: " << a;
      cout << "\nEl valor de b: " << b;
   }
};
int main() {
   obj derivado;
   obj.func();
   return 0;
}

Resultados de la salida

La salida del programa anterior es la siguiente.

El valor de a: 8
El valor de b: 10

Ahora, permítanos entender el programa anterior.

En la clase Base, los miembros de datos son a, b y c, que son públicos, protegidos y privados respectivamente. A continuación se muestra el fragmento de código correspondiente.

class Base {
   public :
   int a = 8;
   protected :
   int b = 10;
   private :
   int c = 20;
};

La clase derivada hereda de la clase base. Esta funciónfunc()Imprima los valores de a y b. No puede imprimir el valor de c, porque el valor de c es exclusivo de la clase Base y no se puede acceder desde la clase Derived. A continuación se muestra el fragmento de código correspondiente.

class Derived : public Base {
   public :
   void func() {
      cout << "El valor de a: " << a;
      cout << "\nEl valor de b: " << b;
   }
};

en esta funciónmain()creó un objeto de la clase Derived llamado obj. Luegofunc()Llame a esta función. A continuación se muestra el fragmento de código correspondiente.

int main() {
   obj derivado;
   obj.func();
   return 0;
}
Tutoriales de SQLite