У меня есть следующее:
string ProperNoun::GetWord() {
word[0] = toupper(word[0]);
return (word);
}
У меня возникли проблемы с попыткой сделать так, чтобы слово, которое было возвращено из слова getter, заглаживает первую букву, если это правильно, используя приведенный выше код, он делает слово неповторяемым в моем словаре, я предположил, что оно делает слово заглавным и затем ищет, поэтому я изменил слово, которое я ищу, чтобы иметь заглавную букву, хотя он все еще не нашел ее. Мой вопрос в том, как я могу сделать свой код заглавной буквой первой буквы, если ее собственный.
Вы можете сделать капитализацию во втором слове 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;
}