elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  porque no esta aplicándose la amistad entre las clases calculo y persona?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: porque no esta aplicándose la amistad entre las clases calculo y persona?  (Leído 2,223 veces)
DANXD

Desconectado Desconectado

Mensajes: 2


Ver Perfil
porque no esta aplicándose la amistad entre las clases calculo y persona?
« en: 10 Octubre 2017, 03:03 am »

Hola, alguien sabe porque no esta aplicándose la amistad entre las clases calculo y persona?
El error es:  "la variable "hrs" no esta declarada"
Código
  1. #include <stdlib.h>
  2. #include <iostream>
  3. using namespace std;
  4. class persona
  5. {
  6.    private:
  7.    char nombre[30],sexo[3];
  8.    int edad;
  9.    int hrs;
  10.  
  11.    public:
  12.         friend class calculo;
  13.        virtual void pide()
  14.        {
  15.            cout<<"\nNombre: ";
  16.            cin>>nombre;
  17.            cout<<"\nEdad: ";
  18.            cin>>edad;
  19.            cout<<"\nSexo: ";
  20.            cin>>sexo;
  21.            cout<<"\nHoras: ";
  22.            cin>>hrs;
  23.        }
  24.        virtual void imprime()
  25.        {
  26.            cout<<"\nNombre: "<<nombre;
  27.            cout<<"\nEdad: "<<edad;
  28.            cout<<"\nSexo: "<<sexo;
  29.            cout<<"\nHoras: "<<hrs;
  30.        }
  31. }
  32. ;
  33. class calculo
  34. {
  35.    private:
  36.        persona p;
  37.    public:
  38.       void calculap()
  39. {
  40.    cout<<"\nEl salario del profesor es: "<<hrs*600;
  41. }
  42. void calculal()
  43. {
  44.    cout<<"\nEl salario del alumno es: "<<hrs*500;
  45. }
  46. }
  47. ;
  48. class profesor:public persona
  49. {
  50.    char titulo[30];
  51.    public:
  52.        void pide()
  53.        {
  54.            cout<<"\nTitulo: ";
  55.            cin>>titulo;
  56.        }
  57.        void imprime()
  58.        {
  59.            cout<<"\nTitulo: "<<titulo<<endl;
  60.        }
  61. }
  62. ;
  63. class alumno:public persona
  64. {
  65.    char situacion[30];
  66.    public:
  67.        void pide()
  68.        {
  69.            cout<<"\nSituacion academica: ";
  70.            cin>>situacion;
  71.        }
  72.        void imprime()
  73.        {
  74.            cout<<"\nSituacion academica: "<<situacion<<endl;
  75.        }
  76. }
  77. ;
  78.  
  79. main()
  80. {
  81.    int opc;
  82.    persona *p1,*p2,*p3;
  83.    persona o1;
  84.    profesor o2;
  85.    alumno o3;
  86.    calculo o4;
  87.    p1=&o1;
  88.    p2=&o2;
  89.    p3=&o3;
  90.    cout<<"\nSalario a pagar";
  91.    cout<<"Elige: \n1.Profesor\n2.Alumno\n";
  92.    cin>>opc;
  93.    if(opc==1)
  94.    {
  95.    cout<<"\nProfesor ";
  96.    p1->pide();
  97.    p2->pide();
  98.    p1->imprime();
  99.    p2->imprime();
  100.    o4.calculap();
  101.    system("pause");
  102. }
  103. if(opc==2)
  104. {
  105.    cout<<"\nAlumno ";
  106.    p1->pide();
  107.    p3->pide();
  108.    p1->imprime();
  109.    p3->imprime();
  110.    o4.calculal();
  111.    system("pause");
  112. }
  113. }
  114.  
  115.  


· Los códigos deben ir en etiquetas GeSHi
· Los títulos deben ser descriptivos
>aquí las reglas del foro
-Engel Lex


« Última modificación: 10 Octubre 2017, 03:07 am por engel lex » En línea

JavierScars

Desconectado Desconectado

Mensajes: 116



Ver Perfil
Re: porque no esta aplicándose la amistad entre las clases calculo y persona?
« Respuesta #1 en: 10 Octubre 2017, 03:43 am »

Intenta sacando de allí la "friend class calculo" es decir colócala al inicio de la clase, sin ningún nivel de acceso


En línea

Usa lo malo de la vida a tu favor, escala montañas de problemas para deslizarte sobre soluciones, derrumba muros de decepciones para encontrar la libertar de la felicidad,  y quema la leña del fracaso para calentarte con el éxito. Recuerda que sin la oscuridad la luz no brillaría tanto.
DANXD

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: porque no esta aplicándose la amistad entre las clases calculo y persona?
« Respuesta #2 en: 10 Octubre 2017, 03:45 am »

Ya, sigue marcándome error ._.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines