C++定义一个对象时用另外一个对象进行初始化(相同类对象)

C++定义一个对象时用另外一个对象进行初始化(相同类对象)如果用来初始化的一个类中定定义了一个指针,并指向了一个new分配的地址(构造函数中定义的)。那么再定义变量的时候... C++定义一个对象时用另外一个对象进行初始化(相同类对象)如果用来初始化的一个类中定定义了一个指针,并指向了一个new分配的地址(构造函数中定义的)。那么再定义变量的时候这个地址会怎么样,会一起复制过去吗? 展开
 我来答
节子不哭
2017-07-19 · TA获得超过461个赞
知道小有建树答主
回答量:340
采纳率:85%
帮助的人:164万
展开全部
你说的这种情况就是浅拷贝,赋值过后两个对象的指针成员指向了同一块内存空间,这样是错误的方式,应该重写类的拷贝构造函数,给新的对象的指针数据成员重写new一个内存空间。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
heptnaol
2017-03-04 · TA获得超过7261个赞
知道大有可为答主
回答量:7120
采纳率:78%
帮助的人:1808万
展开全部
两个对象的这个指针,会拥有同一个值,这可能会导致你不期望的结果
例如:
对象A改变了指针指向内存的内容,B会看到同样的变化;
A 调用了delete,B再使用这个指针,表示很崩溃
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
得新用9715
2017-03-04 · TA获得超过1.8万个赞
知道大有可为答主
回答量:3.2万
采纳率:0%
帮助的人:7760万
展开全部
It was lovely walking with him
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式