Otra de mis dudas, de esas que me parecen muy tontas y luego no le veo una solución aceptable.
Tengo una función miembro de una clase para dar un valor a un miembro float.
Código C++:
Ver original
void SetCantidad (float C) {Cantidad=C;}
Pero quiero que la función me haga la validación, para asegurarse de que se ha introducido un dato numérico.
He visto que aunque cin se "traga" en principio cualquier valor, y le hace un casting, se puede leer el fail que da, y en base a eso controlar si el valor introducido es válido o no, pero en principio, este sistema obligaría a que la comprobación se hiciera antes de hacer la llamada al método, y me gustaría que fuera el propio método el que hiciera tal comprobación, ya que entiendo que es parte de su misión.
Otra opción, que funcionaría, sería hacer la llamada así:
Código C++:
Y luego a esa cadena sí le podría hacer comprobaciones, y después pasarla a float, pero me parece algo enrevesado y chapucero.Ver original
void SetCantidad (char* C){}
Y no veo la forma de hacer la comprobación dentro de la función.
¿Alguna ayuda?