100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 数据结构算法与应用c++语言描述 原书第二版 答案(更新中

数据结构算法与应用c++语言描述 原书第二版 答案(更新中

时间:2024-01-22 18:14:11

相关推荐

数据结构算法与应用c++语言描述 原书第二版 答案(更新中

目录

第一章 C++回顾

函数与参数

1.交换两个整数的不正确代码。

异常

10.抛出并捕捉整型异常。

第一章 C++回顾

函数与参数

1.交换两个整数的不正确代码。

//test_1void swap(int x,int y){int temp=x;x=y;y=temp;}void swap2(int& x,int& y){int temp=x;x=y;y=temp;}void test_1(){int x=3,y=5;swap(x,y);//error C2668: “swap”: 对重载函数的调用不明确.将void swap(int& x,int& y)改成void swap2(int& x,int& y)cout<<x<<y<<endl;//35int& a=x,b=y;//这里b是int。传值参数。int& a=3,&b=y;//这里b是int&。引用参数cout<<a<<b<<endl;//35swap2(a,b);cout<<x<<y<<endl; //55,只有a改变了。}

异常

10.抛出并捕捉整型异常。

int abc(int a,int b,int c){if(a<0&&b<0&&c<0)throw 1;else if(a==0&&b==0&&c==0)throw 2;return a+b*c;}void test_10(){try{cout<< abc(2,0,2)<<endl;cout<< abc(-2,0,-2)<<endl;cout<< abc(0,0,0)<<endl;}catch(exception& e){ cout<<"aa "<<endl;}catch(int e){ if (e==2){cout<<"e==2 "<<endl;}if (e==1){cout<<"e==1 "<<endl;} } catch(...){ cout<<"..."<<endl;}}

输出

如果把catch(..)放在最前面会报错。error C2311: “int”: 在行 41 上被“...”捕获

因为这是捕获所有的,所以一般放最后。

catch(...){ cout<<"..."<<endl;system("pause");return 1;}catch(int e){ if (e==2){cout<<"e==2 "<<endl;}if (e==1){cout<<"e==1 "<<endl;}system("pause");return 1;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。