| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 366 人关注过本帖
标题:异常处理程序段中的小问题
只看楼主 加入收藏
lyj23
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:140
注 册:2010-10-31
结帖率:86.21%
收藏
已结贴  问题点数:20 回复次数:3 
异常处理程序段中的小问题
程序代码:
……
class Cat{
public:

 Cat(){cout<<"Cat()"<<endl;}
~Cat(){cout<<"~Cat()"<<endl;}
};
class Dog{
public:

 void* operator new(size_t sz){  //这里为什么是void* 类型?下面delete的为什么没有*
cout<<"allocating a Dog"<<endl;throw 47;}

 void operator delete(void *p){

 cout<<"deallocating a Dog"<<endl;
::operator delete(p);}
};
class Use{

 Dog* op;

 Cat* bp;
pubilc:

 Use(int count=1){
cout<<"Use()"<<endl;
bp=new cat[count];
op=new Dog;}  //这里会不会调用重载的函数,如果调用了,那Dog的空间不是不会被创建吗!(我认为不会调用吧)
~Use(){

 cout<<"~Use()"<<endl;
delete[] bp;//这里应该不调用重载吧。有个[]
delete op;}//这里调用重载吗?
};
int main(){
try{
Use ur(3);
}catch(int){
cout<<"error"<<endl;}
}//---------------------------
请解决上述问题,其他的代码仅供参考
2011-05-22 15:56
lyj23
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:140
注 册:2010-10-31
收藏
得分:0 
高手Come on,人呢?怎么没有回答的?
2011-05-22 17:22
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:14 
佩服,你每一个问题都使人有热血的冲动
2011-05-23 08:41
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:606
专家分:2499
注 册:2009-4-8
收藏
得分:0 
你的这些问题在C++之父的 《C++语言的设计和演化》里有提到。百度谷歌也会有提到。

迭代的是人,递归的是神。
2011-06-06 09:04
快速回复:异常处理程序段中的小问题
数据加载中...
 
   



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

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