c++动态创建对象数组问题!!!!!!

Point类,构造函数Point(inta){cout<<"......";......}我想用构造函数初始化对象。而且是用动态分配内存来处理Point*Ptr=newP... Point 类,构造函数
Point(int a){cout<<"......";......}
我想用构造函数初始化对象。而且是用动态分配内存来处理
Point *Ptr=new Point[2];
delete[] Ptr;
以上方法可以调用构造函数以及析构函数
但是它调用的是默认的构造函数。。。。。。。。。不能进行初始化了就

我想按如下方法写
Point (*Ptr)[2];
Ptr[1]=new Point(a )
Ptr[2]=new Point(b)
delete [] p;
为什么就不行呢。

高人指点怎么动态创建对象数组而且!用构造函数初始化呢?
展开
 我来答
皋晨巨涵涵
2019-09-08 · TA获得超过3944个赞
知道大有可为答主
回答量:3155
采纳率:33%
帮助的人:177万
展开全部
以下是运行结果:
Default
Constructor
called.
Default
Constructor
called.
Deleting...
Destructor
called.
Destructor
called.
你的结果已经很明白了啊!
1.都调用了
默认构造函数
,因为你创建2个
对象
时都未给
参数
;
2.执行这两句时,对象
空间
已经分配好了,不调用
构造函数
了.只是执行附值的
任务
;
3.因为你是用new分配的
动态数组
空间,数组空间的释放就必须写[],其实在这儿是省略了[2]中的2的;
4.delete[]
Ptr;对应的是Deleting...;
后面
那2句是
析构函数
根据你的构造函数自动调用的,作用是释放不同构造函数申请的动态内存;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伤倏臀w
2010-05-22 · TA获得超过1115个赞
知道大有可为答主
回答量:864
采纳率:60%
帮助的人:606万
展开全部
动态数组比构造函数生成的晚。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nullai
2010-05-22 · TA获得超过117个赞
知道小有建树答主
回答量:134
采纳率:0%
帮助的人:214万
展开全部
Point* Ptr[2];
Ptr[0]=new Point(a )
Ptr[1]=new Point(b)
delete Ptr[0];
delete Ptr[1];
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式