Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: astroman20 en 10 Agosto 2017, 01:42 am



Título: Tengo una duda con los punteros
Publicado por: astroman20 en 10 Agosto 2017, 01:42 am
Si es diabolico, pero trate de buscarlo por google, entendi el concepto, pero no se como llevarlo a la practica
Código
  1. #include <iostream>
  2. #include <stdlib.h>
  3.  
  4.  
  5.  
  6. using namespace std;
  7. class persona {
  8. protected:
  9. void act(){cout<<"Soy persona natural"<<endl;}
  10. int edad; //primeras variables
  11. char genero;
  12. public:
  13.    void asignar(int &x,char &y){ //Aqui es donde asigno las variables
  14.    x=edad;
  15.    y=genero;
  16.    }
  17. };
  18. class persona2:public persona {
  19. private: void act2(){cout<<"Soy una persona juridica"<<endl;};
  20. public: double salario;
  21.  
  22. void imprime(){cout<<edad<<endl; //Donde muestro el mensaje
  23. cout<<genero<<endl;
  24. cout<<salario<<endl;
  25. }
  26. };
  27.  
  28. int main()
  29.  
  30. { persona2 juanazo;
  31. int x=14;  // Aqui inicializo las variables
  32. char y='M';
  33.  
  34. juanazo.asignar(x,y); //Llamo a funcion de la clase persona
  35. juanazo.salario=375;
  36. juanazo.imprime();
  37. }
  38.  
  39.  
    El problema radica que cuando ejecuto me sale algo así:


  • 193788
  • p
  • 375

Cuando lo que quiero que me ejecute sea otra cosa(que me de la edad y el genero). Aprecio la ayuda.
[/list]


Título: Re: Tengo una duda con los punteros
Publicado por: ivancea96 en 10 Agosto 2017, 11:47 am
Pusiste x=edad en vez de edad=x. Lo mismo para género.

Y como detalle, aqui no estas usando punteros. Ese "int &x" es un "parámetro por referencia", pero no es un puntero.