Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/12/2014, 21:36
l222p
 
Fecha de Ingreso: julio-2010
Mensajes: 191
Antigüedad: 14 años, 6 meses
Puntos: 2
problema con clases derivadas en C++

Hola comunidad!

Tengo un problema, estoy creando dos clases, una ClasePrueba y la otra ClasePrueba2.

ClasePrueba2 hereda de ClasePrueba, la cual tiene un constructor, y obviamente cuando cree un objeto de ClasePrueba2 voy a necesitar llamar explícitamente al constructor de ClasePrueba, yo se que en Java se puede hacer esto usando la palabra reservada super(). Pero no se como se hace esto mismo en C++

¿Alguien me puede ayudar?

Código C++:
Ver original
  1. #include<iostream>
  2. #include<string>
  3. using namespace std;
  4.  
  5. class ClasePrueba {
  6.    
  7.     private: string nombre;
  8.     int edad;
  9.    
  10.     public:
  11.      ClasePrueba(string name, int age){
  12.         nombre=name;
  13.         edad=age;
  14.     }
  15.    
  16.    
  17.      void establecerNombre(string name){
  18.         nombre=name;
  19.     }
  20.    
  21.     string obtenerNombre(){
  22.         return nombre;
  23.     }
  24.  
  25. };
  26.  
  27. class ClasePrueba2 : public ClasePrueba{
  28.    
  29.     private: string apodo;
  30.    
  31.     public: ClasePrueba2(string name, int age ,string nick){
  32.         super(name,age);
  33.         apodo=nick;
  34.     }
  35. };

También sé que puedo crear otro constructor en ClasePrueba que no haga nada. Así.

Código C++:
Ver original
  1. public:
  2.      ClasePrueba(){
  3.    
  4.     }

Esto funciona, pero no es lo que quiero.

Quiero llamar al constructor de la superclase desde la clase derivada explícitamente.

Gracias!!