我刚刚开始使用 C++,我需要帮助。我需要在 C++ 中使用 append() 函数 append 字符串,但我遇到了一些问题。这是我的代码。
class Foo
{
char* str1;
Foo()
{
Foo::str1=0;
}
void appendFoo(Foo foo1)
{
foo1.str1.append("Hello");
}
}
我知道上面的代码是错误的。如何通过类 foo 的对象 append 字符串“Hello”。我希望对象 foo1 具有 str1 值作为 hello 并且如果我再次调用此函数,它应该被追加。任何帮助将不胜感激。
最佳答案
您应该将 Foo::str1
声明为 std::string
。此外,Foo::appendFoo()
的参数应为 Foo&
类型,因此函数中的 foo1
不会是临时拷贝。
#include <string>
class Foo
{
std::string str1;
Foo()
{
str1 = "";
}
void appendFoo(Foo &foo1)
{
foo1.str1.append("Hello");
}
}
但是,更好的设计可能是使 Foo::appendFoo()
append 到对象本身的字符串。也就是说,
void appendFoo()
{
str1.append("Hello");
}
// Calling example
Foo bar;
bar.appendFoo();
// Now bar.str1 == "Hello"
关于c++ - 将字符串 append 到 C++ 中的类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21363799/