Функция для проверки, содержит ли строка число
Я работаю над проектом на C ++ (который я только начал изучать) и не могу понять, почему эта функция не работает. Я пытаюсь написать класс «Person» с переменной first_name и использовать функцию set_first_name для установки имени. Set_first_name необходимо вызвать функцию (ниже), чтобы проверить, есть ли в имени какие-либо числа. Функция всегда возвращает false, и мне интересно, почему? Кроме того, это лучший способ проверить номера или есть лучший способ?
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;
}