VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 705|回复: 0

[讨论] 请教:C++里的浅拷贝和深拷贝

[复制链接]
46_avatar_middle
最佳答案
0 
在线会员 发表于 2016-10-14 17:44:38 | 显示全部楼层 |阅读模式
       自学C++时有个问题没弄明白,还希望大牛告知。
书上的例子:(前面定义了一个类)
void main()
{
        Name stu1("Jerry");
        Name stu2=stu1;   //调用系统默认的拷贝构造函数
}
【程序分析】执行语句Name stu2=stu1;用已经存在的对象stu1为新创建的对象stu2赋值,由于类中没有定义拷贝构造函数,于是调用系统提供的默认的拷贝构造函数,将stu1的数据成员的值直接复制给新对象stu2.并未给对象stu2分配内存。。。
那么问题来了:为什么没有给stu2分配内存空间?
Name stu2=stu1;这一句不就是新建了一个对象stu2并且初始化了吗(就像int a=9;)?新建局部对象stu2的同时没有在栈里分配内存?




上一篇:C语言程序简单一例——数学问题
下一篇:C语言程序例题经典——日期计算
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-12-12 21:15

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表