小编Luc*_*ers的帖子

为什么使用字符串的复制构造函数?

我有以下代码:

class TestClass
{
public:
  TestClass(){};

  std::string GetTestString()
  {
    return (mTestString);
  }
  void SetTestString(const std::string& rTestString)
  {
    mTestString = rTestString;
  }

private:
  std::string mTestString;
};

TestClass* pGlobalVar;

void SomeFunction(TestClass MyClass)
{
  pGlobalVar->SetTestString("cba");
  std::cout << "Changed string:  " << pGlobalVar->GetTestString() << std::endl;
  std::cout << "Copied string:   " << MyClass.GetTestString() << std::endl;

}

int main()
{
  pGlobalVar = new TestClass();
  pGlobalVar->SetTestString("abc");
  std::cout << "Original string: " << pGlobalVar->GetTestString() << std::endl;
  SomeFunction(*pGlobalVar);
  delete (pGlobalVar);
}
Run Code Online (Sandbox Code Playgroud)

这输出如下:

Original string: abc
Changed string:  cba
Copied …

c++

2
推荐指数
2
解决办法
1152
查看次数

标签 统计

c++ ×1