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
    请按任意键继续. . .

  • 相关阅读:
    tps,qps
    JS打包与代码分割
    css module
    垃圾回收算法、内存管理
    css flex布局
    angularJS transclude
    JS模块之AMD, CMD, CommonJS、UMD和ES6模块
    js event loop事件循环
    bootstrap3之栅格系统
    viewport理解
  • 原文地址:https://www.cnblogs.com/herd/p/10977573.html
Copyright © 2011-2022 走看看