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

  • 相关阅读:
    蓝屏的钙,好喝的钙
    正则
    JavaScript 获取当前时间戳 (3种方式)
    react-native upoad imagepicker
    xmlhttprequest请求
    修改配置使fiddler可以查看https请求
    安装composer
    判定 android IOS
    看端口任务
    squid 缓存Internet 软件
  • 原文地址:https://www.cnblogs.com/herd/p/10977573.html
Copyright © 2011-2022 走看看