Método principal de llamada de C++
Este artículo discutirá brevemente cómo llamar a una función de clase principal desde una función de clase derivada en C++.
Llamar a la función de clase principal en C++
Llamar a una función en C++ es transferir el control a la función. Llamar a una función en C++ no se limita a una sola forma específica, y hay varias formas de hacerlo.
La primera forma es usando la llamada estándar operador()
, que llamará a cualquier función global, miembro o estática. La segunda forma es usar el operador de conversión dinámica, que solo llama a funciones miembro relacionadas con el tipo de clase del objeto.
La tercera forma es usar el operador de conversión estática (static_cast
), que solo llamará a funciones globales, estáticas o miembro. En este tutorial, discutiremos específicamente cómo llamar a una función principal desde una clase derivada.
En C++, una clase derivada puede llamar a la función de la clase padre usando la palabra clave parent::
. Por ejemplo, si desea llamar al método print_message
desde la clase principal ParentClass
.
Sintaxis:
ParentClass::print_message()
- Cree la función en la clase base.
- Cree la función en la clase derivada.
- Llame a la función de clase base desde dentro de la función de clase derivada agregando el nombre de la clase base, seguido de dos puntos (
::
). Por ejemplo,base_class::derived_class
.
Ejemplo de código:
#include <bits/stdc++.h>
using namespace std;
class parent {
public:
void demo() { cout << "x" << endl; }
};
class derived : public parent {
public:
void demo() {
cout << "y" << endl;
parent ::demo();
}
};
int main() {
derived zzm;
zzm.demo();
return 0;
}
Producción :
y
x
Ejecutar código de demostración
En este ejemplo de código, creamos una clase principal, una clase base y una clase derivada.
Después de eso, creamos la función demo()
dentro de la función main(). Cuando se llama a la función demo()
de la clase derivada.
Muhammad Adil is a seasoned programmer and writer who has experience in various fields. He has been programming for over 5 years and have always loved the thrill of solving complex problems. He has skilled in PHP, Python, C++, Java, JavaScript, Ruby on Rails, AngularJS, ReactJS, HTML5 and CSS3. He enjoys putting his experience and knowledge into words.
Facebook