English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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:
#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; }