Constructor en herencia multinivel en C++

Constructor es una función miembro de clase con el mismo nombre que la clase. El trabajo principal del constructor es asignar memoria para objetos de clase. El constructor se llama automáticamente cuando se crea el objeto. 

Herencia multinivel

La derivación de una clase a partir de otra clase derivada se denomina herencia multinivel. La clase A es la clase base para la clase B derivada, que a su vez sirve como clase base para la clase C derivada. La clase B proporciona un vínculo para la herencia entre A y C y se conoce como clase base intermedia. La string A, B, C se conoce como el camino de la herencia .

Multilevel Inheritance

Constructor en herencia multinivel

Ejemplo 1: a continuación se muestra el programa C++ para mostrar el concepto de constructor en herencia multinivel.

C++

// C++ program to implement
// constructor in multilevel 
// Inheritance
#include<iostream>
using namespace std;
  
// Base class
class A
{
    public:
        A()
        {
            cout << "Base class A constructor \n";
        }
};
  
// Derived class B
class B: public A
{
    public:
        B()
        {
            cout << "Class B constructor \n";
        }
};
  
// Derived class C
class C: public B
{
    public:
        C()
        {
            cout << "Class C constructor \n";
              
        }
};
  
// Driver code
int main()
{
    C obj;
    return 0;
}
Producción

Base class A constructor 
Class B constructor 
Class C constructor 

Ejemplo 2: a continuación se muestra el programa C++ para implementar la herencia multinivel.

C++

// C++ program to implement 
// multilevel inheritance
#include<iostream>
using namespace std;
  
// Base class A
class A
{
    public:
        A()
        {
            int a = 5, b = 6, c;
            c = a + b;
            cout << "Sum is:" << 
                     c << endl;
        }
};
  
// Class B
class B: public A
{
    public:
        B()
        {
            int d = 50,e = 35, f;
            f = d - e;
            cout << "Difference is:" <<
                     f << endl;
        }
};
  
// Derived class C
class C: public B
{
    public:
        C()
        {
            int g = 10, h = 20, i;
            i = g * h;
            cout << "Product is:" <<
                     i << endl;            
        }
};
  
// Driver code
int main()
{
    C obj;
    return 0;
}
Producción

Sum is:11
Difference is:15
Product is:200

Publicación traducida automáticamente

Artículo escrito por akshaysobti15 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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