zoukankan      html  css  js  c++  java
  • 深复制、浅复制

    #include <iostream>

    using namespace std;

    class CDemo {
    public:
      CDemo(int pa,char *cstr)
      {
        this->a = pa;
        this->str = new char[104];
        strcpy(this->str,cstr);
        //this->str = cstr;
      }

      int getA()
      {
        return this->a;
      }

      char* getCStr()
      {
        return this->str;
      }

      void setA(int a)
      {
        this->a = a;
      }

      void setStr(char *cstr)
      {
        this->str = new char[104];
        strcpy(this->str, cstr);
      }

      void setStr2(char *cstr)
      {
        this->str = cstr;
      }

      ~CDemo()
      {
        delete str;
      }
    private:
      int a;
      char *str;
    };

    int main()
    {
      CDemo A(10,"hello");
      cout <<"A:"<< A.getA()<<" "<<A.getCStr()<< endl;

      CDemo B = A;
      cout << "B:" << B.getA() << " " << B.getCStr() << endl;

      B.setA(30);
      B.setStr("word");//深复制
      //B.setStr2("word2");//浅复制

      cout << "B:" << B.getA() << " " << B.getCStr() << endl;
      cout << "A:" << A.getA() << " " << A.getCStr() << endl;


      system("pause");
      return 0;
    }

    -----------------------------------------------------------------------------------------------------

    A:10 hello
    B:10 hello
    B:10 word
    A:10 hello
    请按任意键继续. . .

  • 相关阅读:
    Blue的博客
    透明状态栏和沉浸式状态栏
    Html的label和span的区别
    三个石匠的故事
    OpenSSL 生成自定义证书
    github博客配置
    js作用域其二:预解析
    数据分析常用工具总结
    堆排序
    吴裕雄--天生自然 JAVA开发学习: 循环结构
  • 原文地址:https://www.cnblogs.com/herd/p/10977573.html
Copyright © 2011-2022 走看看