C++ 如何用访问器方法替换字符串中的特定字符

C++ 如何用访问器方法替换字符串中的特定字符,c++,C++,我知道如何替换字符串中的字符,但您将如何使用该特定方法来替换它。例如,您有一个名为object*objArr[]的对象数组,并且在类getName中定义了一个方法。对于字符串,您可以使用字符串名称并将其命名为name.replace,'.'只是一个示例。对于对象,您可以访问它objArr[]->getName 我尝试过使用objArr[]->getName.replace,但没有成功 //changes all the space to a _ for the names.

我知道如何替换字符串中的字符,但您将如何使用该特定方法来替换它。例如,您有一个名为object*objArr[]的对象数组,并且在类getName中定义了一个方法。对于字符串,您可以使用字符串名称并将其命名为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);


如果您打算不止一次地使用此选项,那么第一个选项对我来说似乎是一个更好的选项。

创建一个getName的返回类型是什么?这是我的一个错误,get函数将name&having name=返回给对象将不起作用crashes@theRat当对象崩溃时,将name=用于对象将不起作用,这意味着什么?当然,不能将对象指定给字符串,但如果getName函数返回字符串,则可以将其指定给name。