Tengo una duda con los punteros

Iniciado por astroman20, 10 Agosto 2017, 01:42 AM

0 Miembros y 1 Visitante están viendo este tema.

astroman20

Si es diabolico, pero trate de buscarlo por google, entendi el concepto, pero no se como llevarlo a la practica
Código (cpp) [Seleccionar]

#include <iostream>
#include <stdlib.h>



using namespace std;
class persona {
protected:
void act(){cout<<"Soy persona natural"<<endl;}
int edad; //primeras variables
char genero;
public:
   void asignar(int &x,char &y){ //Aqui es donde asigno las variables
   x=edad;
   y=genero;
   }
};
class persona2:public persona {
private: void act2(){cout<<"Soy una persona juridica"<<endl;};
public: double salario;

void imprime(){cout<<edad<<endl; //Donde muestro el mensaje
cout<<genero<<endl;
cout<<salario<<endl;
}
};

int main()

{ persona2 juanazo;
int x=14;  // Aqui inicializo las variables
char y='M';

juanazo.asignar(x,y); //Llamo a funcion de la clase persona
juanazo.salario=375;
juanazo.imprime();
}



    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.

ivancea96

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.