我有以下内容:
string ProperNoun::GetWord() {
word[0] = toupper(word[0]);
return (word);
}
我无法尝试这样做,所以从getter这个单词返回的单词会使第一个字母大写,如果它是一个正确的单词,使用上面的代码会使我的字典中的单词不可用,我认为它使这个词大写,然后搜索,因此我改变了我正在寻找有大写字母的单词虽然它仍然没有找到它。我的问题是,如果我的代码是正确的,那么如何使我的代码大写第一个字母。
答案 0 :(得分:1)
您可以在第二个单词getter中进行大写,仅用于显示。此getter不会修改存储的单词。
string ProperNoun::GetWordForDisplay() {
string s = word;
s[0] = toupper(s[0]);
return s;
}
或者,您可以添加第二个单词getter以用于字典搜索。此getter可以返回该单词的小写副本。
string ProperNoun::GetWordForSearch() {
string s = word;
std::transform(s.begin(), s.end(), s.begin(), ::tolower);
return s;
}