标题:有关构造函数与new的一些问题
取消只看楼主
情结
Rank: 1
来 自:湖北武汉
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-10-19
 问题点数:0 回复次数:1 
有关构造函数与new的一些问题
首先我提一个问题:构造函数有没有申请内存空间的能力?
一般情况下是当产生一个动态对象时是有new来产生的,而构造函数只是对对象进行初始化,也就是先有new来申请存储对象的内存空间,然后执行构造函数对对象进行初始化,
             《有些书上比较间接的说明构造函数有申请内存空间的能力》
第一:
                   class  Point{   } ;   //省去类体部分,只说明Point为一个类
                   Point  * p=new Point();
                 所产生的对象的内存空间是new申请的还是构造函数申请的,
                 如果是new申请的,那构造函数只是对对象进行初始话,没有对存储对象的空间做什么;
                 如果是构造函数申请的,那new作为一个函数又有什么用呢?难道只是返回一个指针而已吗?
第二:
                  class  Point
                    {
                      string  *  p;
                       .....
                       ......
                       ......
                    };
                   Point:: Point(Point& )      //   深拷贝
                         {
                             Delete  p;
                             p=new string [20];
                         }
             当类里面有指针的情况下,采用深拷贝的到的对象的空间比采用浅拷贝的空间要大一个数据项,
这是否意味着构造函数对对象的大小进行了扩充???

[[it] 本帖最后由 情结 于 2008-10-25 17:29 编辑 [/it]]
搜索更多相关主题的帖子: 函数 构造 new 
2008-10-25 13:48
情结
Rank: 1
来 自:湖北武汉
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-10-19
得分:0 
thank you

天行健,君子以自强不息
2008-10-26 13:00



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




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

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