¿Por qué no me muestra los nombres en pantalla este código fuente en C++?

USO CODEBLOCKS

Quisiera que me ayudaran a decirme que error tengo para que no me muestre los nombres en pantalla el siguiente programa, sé que es algo sobre la dirección de memoria, si me ayudan se los agradeceré.

#include<iostream>
#include<stdlib.h>
#include <stdio.h>
#include <string.h>
using namespace std;
class Paterno{
protected:
    char paterno[30];
      int edad1;
public:
      Paterno (int e1,char*p):edad1(e1){strcmp(paterno,p);}
      char *apellido1(){return paterno;}
       int edadpaterna(){return edad1;}
};
class Materno{
protected:
  char materno[30];
  int edad2;
  public:
  Materno(int e2,char*m):edad2(e2){strcmp(materno,m);}
  char*apellido2(){return materno;}
  int edadmaterna(){return edad2;}
};
class Hijo: public Paterno,public Materno{
protected:
char nombre[30];
int edad3;
public:
Hijo(char*p,int e1,char *m,int e2, char*h,int e3):Paterno(e1,p),Materno(e2,m), edad3(e3){strcmp(nombre,h);}
char *nombrehijo(){return nombre;}
int edadhijo(){return edad3;}
};
 int main(){
Hijo hijo1 ("ramirez",60,"gonzalez",55,"pablo",20);
cout<<"Los apellidos y edades son:"<< endl;
cout<<"El padre: "<<hijo1.apellido1()<<"\n edad: "<<hijo1.edadpaterna()<<endl;
cout<<"La madre: "<<hijo1.apellido2()<<"\n edad: "<<hijo1.edadmaterna()<<endl;
cout<<"El hijo: "<<hijo1.nombrehijo()<<"\n edad: "<<hijo1.edadhijo()<<endl;
cin.get();
return 0;
}

Añade tu respuesta

Haz clic para o