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

标签 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] = '_';
                }
            }

英语不好抱歉!

最佳答案

首先,如果它实际上不获取/返回任何东西,那么拥有一个 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/

相关文章:

c++ - 如何在 C++ 中获取 linux 命令输出字符串和输出状态

c++ - 位掩码 : Set different states of an object via set method

c++ - 特定目标文件的单线程构建

c++ - 如何检查类型是否属于给定的模板类型

c++ - 有没有更直接的方法将基类方法带入子类?

c++ - 如何使用GLOBAL变量并使其在不同函数中使用?

c++ - 模型更新时 QML ListView 默认行为

c++ - 如何将此代码转换为 C++?

c++ - "Holder"存储不同对象类型的模板类。带参数和不带参数的构造函数

c++ - 如何使用 QT 从 SVG 文件中获取值