| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 587 人关注过本帖
标题:NEW的应用的一个简单问题
取消只看楼主 加入收藏
saltfish_007
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-10-21
收藏
 问题点数:0 回复次数:2 
NEW的应用的一个简单问题
void fn()

{Tdate*ps;

ps=newTdate; //分配堆空间并构造它

//......

delete ps;} //先析构,然后将空间返还给堆


以上是程序1,注意红色字体部分。


以下是程序2,注意红色字体部分。
//....................

void fn()

{Tdate*pD; //Tdate是一个构造函数

pD=new Tdate(1,1,1998);

//........

delete(pD);}





问题结束,请问一下,以上两个程序,红色字体部分有何区别?

我虽然看了书,但是书上说的不是太清楚,请各位指教,谢谢
搜索更多相关主题的帖子: NEW 简单问题 应用 
2007-01-10 10:23
saltfish_007
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-10-21
收藏
得分:0 
这个我知道,但是请问有什么区别??

第二句红色语句的解释(pD=new Tdate(1,1,1998);),书上是这么说的:使new去调用了构造函数Tdate(int,int,int),new是根据参数匹配的原则来调用构造函数的。如果“pD=new Tdate(1,1,1998);”写成:pD=new Tdate;则由于Tdate类没有默认构造函数(已被Tdate(int,int,int)覆盖)而使该语句报错。从堆中还可以分配对象数组。




我就是看不懂书上的解释,请各位指教,谢谢

在此感谢radcat的回复,谢谢
2007-01-10 19:27
saltfish_007
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-10-21
收藏
得分:0 
谢谢cz522321的解释,不过你能不能举个具体的例子呢?谢谢
2007-01-11 21:42
快速回复:NEW的应用的一个简单问题
数据加载中...
 
   



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

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