标题:请教各位一个关于深浅拷贝的问题
取消只看楼主
lionmusicyj
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2008-9-20
结帖率:100%
 问题点数:0 回复次数:1 
请教各位一个关于深浅拷贝的问题
#include <iostream>
using namespace std;
class String
{
   private:
      char *a;
      int len;
   public:
      void showstr()
      {
       cout<<"string:"<<a<<",length:"<<len<<endl;
      }
      String()
      {
         len=0;
         a=NULL;
      }
      String(const char *p)
      {
         len=strlen(p);
         a=new char[len+1];
         strcpy(a,p);
      }
      ~String()
      {
         if(a!=NULL)
         {
            delete a;
            a=NULL;
         }
      }
};



int main()
{
   String s1("123456");    //上面有个定义的拷贝构造函数,但是我的书上说按照下面这样拷贝会有问题,因为不是 深拷贝,只是一般的浅拷贝,但是我用DEV运行并没有报错,请问各位这是为什么呀?
   String s2(s1);
   s2.showstr();
   system("pause");
   
}
望各位回帖哈 ~!小弟对这种深浅拷贝弄的不是很明白~!谢谢了 ~!
搜索更多相关主题的帖子: 深浅 拷贝 
2008-11-04 00:17
lionmusicyj
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2008-9-20
得分:0 
呵呵`
差不多搞明白了
是看类在定义的时候有没有牵涉到一些关于地址操作的时候,才有讨论深浅拷贝的意义吧?
2008-11-04 12:40



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-242268-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.056135 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved