我知道如何替换字符串中的字符,但您将如何使用该特定方法来替换它。例如,您有一个名为 object *objArr[]
的对象数组,并且您在类 getName
中定义了一个方法。对于字符串,您可以执行 string name
并让它 name.replace("", '_')
(只是一个例子)。对于对象,您可以访问它 objArr[]->getName()
。
我尝试执行 objArr[]->getName().replace()
但没有成功。
//changes all the space to a _ for the names.
for (int y = 0; y < name.length(); y++)
{
if (name.substr(y, 1) == " ")
{
name[y] = '_';
}
}
英语不好抱歉!
最佳答案
首先,如果它实际上不获取/返回任何东西,那么拥有一个 getter 函数有什么意义呢?
据我所知,你有一个类对象,它有一个你想从中替换 char 的属性名。您有几个选择:
您可以为对象创建一个方法,该方法将要替换的字符以及要替换的内容作为参数。所以你会打电话
object1->replaceChar(char from, char to)
获取对象字符串的名称,然后替换它,并将其设置为对象的属性。
string name = object1->getName(); name.replace(foo, bar); object1->setName(name);
如果您计划不止一次使用它,第一个选项对我来说似乎是更好的选择。
关于c++ - 如何使用访问器方法替换字符串中的特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56077453/