Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Gojira en 1 Marzo 2018, 20:09 pm



Título: Parametro que acepte distintos tipos de variables.
Publicado por: Gojira en 1 Marzo 2018, 20:09 pm
Hola, estoy haciendo un ejercicio muy sencillo, pero no se hacerlo. Tengo que hacer una funcion para cambiar cada uno de los valores de las variables de la clase. Habia pensado que fuera una funcion con dos parametros, en el primero se indica el el objeto.variable a cambiar y en el segundo se indica la cantidad. El problema es que las variables son de varios tipos y no se como seguir, no me acepta auto.

¿O estoy enfocandolo mal, directamente?

EDIT. Vale, creo que esta todo mal, ya que no tendria que indicarle el objeto, porque la función actua sobre el propio objeto al que pertenece, ¿no? Pero entonces, ¿como le indico la variable?

(https://i.gyazo.com/a5fb71422b4c73a0549b831699ae8a94.png)


Título: Re: Parametro que acepte distintos tipos de variables.
Publicado por: srWhiteSkull en 1 Marzo 2018, 20:41 pm
Tendrías que usar poliformismo. Recuerda que deberás tratar a cada tipo de forma diferente.

https://msdn.microsoft.com/es-es/library/bb972232.aspx#XSLTsection125121120120

"Un parámetro de método o plantilla no se puede declarar con la palabra clave auto."

https://msdn.microsoft.com/es-es/library/dd293667.aspx





Título: Re: Parametro que acepte distintos tipos de variables.
Publicado por: MAFUS en 1 Marzo 2018, 20:45 pm
De normal se hacen uso de setters, es decir, un función por variable que le dará valor. Además se suelen usar para que los rangos que acepta esa variable no sean superados, por ejemplo que la edad de una persona no sea negativa.


Título: Re: Parametro que acepte distintos tipos de variables.
Publicado por: Gojira en 1 Marzo 2018, 20:45 pm
He visto una solucion y lo que hace es hacer una funcion set para cada variable, que es lo primero en lo que he pensado, pero es muy engorroso, no?

https://www.codereviewz.com/invoice-class-create-class-called-invoice-hardware-store-might-use/ (https://www.codereviewz.com/invoice-class-create-class-called-invoice-hardware-store-might-use/)

Pero bueno, supongo que estaba enfocado para hacerlo asi, ya que es el capitulo 3 de un libro muy basico.