C++ //习题14.2 将例14.3程序改为下面的程序,请分析执行过程,写出运行结果。并指出由于异常处理而调用了哪些析构函数。
2024-01-03 10:32:28
C++程序设计 (第三版) 谭浩强 习题14.2
习题14.2 将例14.3程序改为下面的程序,请分析执行过程,写出运行结果。并指出由于异常处理而调用了哪些析构函数。
IDE工具:VS2010
Note: 使用不同的IDE工具可能有部分差异。
?
代码块:
#include <iostream>
#include <string>
using namespace std;
class Student{
public:
Student(int n, string nam){
cout<<"constructor - "<<n<<endl;
num = n;
name = nam;
}
~Student(){
cout<<"destructor - "<<num<<endl;
}
void get_data();
private:
int num;
string name;
};
void Student::get_data(){
if(num == 0) throw num;
else cout<<num<<" "<<name<<endl;
cout<<"in get_data()"<<endl;
}
void fun(){
Student stud1(1101, "Tan");
stud1.get_data();
try{
Student stud2(0, "Li");
stud2.get_data();
}
catch(int n){
cout<<"num = "<<n<<", error!"<<endl;
}
}
int main(){
cout<<"main begin"<<endl;
cout<<"call fun()"<<endl;
fun();
cout<<"main end"<<endl;
system("pause");
return 0;
}
结果显示如下:
文章来源:https://blog.csdn.net/navicheung/article/details/135355989
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!