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

时间:2019-05-10 12:09:29

标签: c++

我知道如何替换字符串中的字符,但是您将如何使用该特定方法来替换它。例如,您有一个名为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] = '_';
                }
            }

英语不好!

1 个答案:

答案 0 :(得分:1)

首先,如果没有实际获取/返回任何东西,拥有吸气功能有什么意义呢?

据我所知,您有一个类对象,该对象具有要替换其char的属性名称。您有几种选择:

  • 您可以为该对象创建一个方法,该方法将要替换的char以及要替换的char作为参数。所以你会打电话

        object1->replaceChar(char from, char to)
    
  • 您获得对象字符串的名称,然后替换它,并将其设置为对象的属性。

        string name = object1->getName();
        name.replace(foo, bar);
        object1->setName(name);
    
    

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