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 .
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; }
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; }
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