Parametro que acepte distintos tipos de variables.

Iniciado por Gojira, 1 Marzo 2018, 20:09 PM

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

Gojira

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?


srWhiteSkull

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




MAFUS

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.

Gojira

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/

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