C++ 如何用访问器方法替换字符串中的特定字符
我知道如何替换字符串中的字符,但您将如何使用该特定方法来替换它。例如,您有一个名为object*objArr[]的对象数组,并且在类getName中定义了一个方法。对于字符串,您可以使用字符串名称并将其命名为name.replace,'.'只是一个示例。对于对象,您可以访问它objArr[]->getName 我尝试过使用objArr[]->getName.replace,但没有成功C++ 如何用访问器方法替换字符串中的特定字符,c++,C++,我知道如何替换字符串中的字符,但您将如何使用该特定方法来替换它。例如,您有一个名为object*objArr[]的对象数组,并且在类getName中定义了一个方法。对于字符串,您可以使用字符串名称并将其命名为name.replace,'.'只是一个示例。对于对象,您可以访问它objArr[]->getName 我尝试过使用objArr[]->getName.replace,但没有成功 //changes all the space to a _ for the names.
//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);
如果您打算不止一次地使用此选项,那么第一个选项对我来说似乎是一个更好的选项。创建一个getName的返回类型是什么?这是我的一个错误,get函数将name&having name=返回给对象将不起作用crashes@theRat当对象崩溃时,将name=用于对象将不起作用,这意味着什么?当然,不能将对象指定给字符串,但如果getName函数返回字符串,则可以将其指定给name。