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 múltiple:
La herencia múltiple es una característica de C++ donde una clase puede derivar de varias (dos o más) clases base. Los constructores de clases heredadas se llaman en el mismo orden en que se heredan.
Sintaxis de herencia múltiple:
clase S: pública A1, virtual A2
{
….
};Aquí,
A2(): constructor base virtual
A1(): constructor base
S(): constructor derivado
Ejemplo 1 : A continuación se muestra el programa C++ para mostrar el concepto de Constructor en Herencia Múltiple.
C++
// C++ program to implement // constructor in multiple // inheritance #include<iostream> using namespace std; class A1 { public: A1() { cout << "Constructor of the base class A1 \n"; } }; class A2 { public: A2() { cout << "Constructor of the base class A2 \n"; } }; class S: public A1, virtual A2 { public: S(): A1(), A2() { cout << "Constructor of the derived class S \n"; } }; // Driver code int main() { S obj; return 0; }
Constructor of the base class A2 Constructor of the base class A1 Constructor of the derived class S
Complejidad temporal: O(1)
Espacio auxiliar: O(1)
Ejemplo 2 : A continuación se muestra el programa C++ para mostrar el concepto de Constructor en Herencia Múltiple.
C++
// C++ program to implement // constructors in multiple // inheritance #include<iostream> using namespace std; class A1 { public: A1() { int a = 20, b = 35, c; c = a + b; cout << "Sum is:" << c << endl; } }; class A2 { public: A2() { int x = 50, y = 42, z; z = x - y; cout << "Difference is:" << z << endl; } }; class S: public A1,virtual A2 { public: S(): A1(), A2() { int r = 40, s = 8, t; t = r * s; cout << "Product is:" << t << endl; } }; // Driver code int main() { S obj; return 0; }
Difference is:8 Sum is:55 Product is:320
Complejidad temporal: O(1)
Espacio auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por akshaysobti15 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA