Как вернуть слово с заглавной первой буквой

0

У меня есть следующее:

string ProperNoun::GetWord() {
    word[0] = toupper(word[0]);
    return (word);
}

У меня возникли проблемы с попыткой сделать так, чтобы слово, которое было возвращено из слова getter, заглаживает первую букву, если это правильно, используя приведенный выше код, он делает слово неповторяемым в моем словаре, я предположил, что оно делает слово заглавным и затем ищет, поэтому я изменил слово, которое я ищу, чтобы иметь заглавную букву, хотя он все еще не нашел ее. Мой вопрос в том, как я могу сделать свой код заглавной буквой первой буквы, если ее собственный.

Теги:

1 ответ

1
Лучший ответ

Вы можете сделать капитализацию во втором слове getter, который будет использоваться только для отображения. Этот геттер не будет изменять сохраненное слово.

string ProperNoun::GetWordForDisplay() {
    string s = word;
    s[0] = toupper(s[0]);
    return s;
}

Кроме того, вы можете добавить второе слово getter для использования в поисковых словарях. Этот геттер может вернуть строчную копию слова.

string ProperNoun::GetWordForSearch() {
    string s = word;
    std::transform(s.begin(), s.end(), s.begin(), ::tolower);
    return s;
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню