Función para verificar si la cadena contiene un número
Estoy trabajando en un proyecto en c ++ (que recién comencé a aprender) y no puedo entender por qué esta función no funciona. Estoy intentando escribir una clase "Persona" con una variable nombre_nombre, y uso una función set_first_name para establecer el nombre. Set_first_name necesita llamar a una función (la siguiente) para verificar si el nombre tiene algún número. La función siempre devuelve falso, y me pregunto por qué. Además, ¿es esta la mejor manera de verificar los números, o hay una mejor manera?
bool Person::contains_number(std::string c){ // checks if a string contains a number
if (c.find('0') == std::string::npos || c.find('1') == std::string::npos || c.find('2') == std::string::npos || c.find('3') == std::string::npos
|| c.find('4') == std::string::npos || c.find('5') == std::string::npos || c.find('6') == std::string::npos || c.find('7') == std::string::npos
|| c.find('8') == std::string::npos || c.find('9') == std::string::npos){// checks if it contains number
return false;
}
return true;
}