?? 例14.3.txt
字號(hào):
例14.3 在異常處理中處理析構(gòu)函數(shù)。
這是一個(gè)為說明在異常處理中調(diào)用析構(gòu)函數(shù)的示例,為了清晰地表示流程,程序中加入了一些cout語句,輸出有關(guān)的信息,以便讀者對(duì)照結(jié)果分析程序。
#include <iostream>
#include <string>
using namespace std;
class Student
{public:
Student(int n,string nam)//定義構(gòu)造函數(shù)
{cout<<″constructor-″<<n<<endl;
num=n;name=nam;}
~Student( ){cout<<″destructor-″<<num<<endl;}//定義析構(gòu)函數(shù)
void get_data( ); //成員函數(shù)聲明
private:
int num;
string name;
};
void Student::get_data( ) //定義成員函數(shù)
{if(num==0) throw num; //如num=0,拋出int型變量num
else cout<<num<<″ ″<<name<<endl; //若num≠0,輸出num,name
cout<<″in get_data()″<<endl; //輸出信息,表示目前在get_data函數(shù)中
}
void fun( )
{Student stud1(1101,″Tan″); //建立對(duì)象stud1
stud1.get_data( ); //調(diào)用stud1的get_data函數(shù)
Student stud2(0,″Li″); //建立對(duì)象stud2
stud2.get_data( ); //調(diào)用stud2的get_data函數(shù)
}
int main( )
{cout<<″main begin″<<endl; //表示主函數(shù)開始了
cout<<″call fun( )″<<endl; //表示調(diào)用fun函數(shù)
try
{fun( );} //調(diào)用fun函數(shù)
catch(int n)
{cout<<″num=″<<n<<″,error!″<<endl;} //表示num=0出錯(cuò)
cout<<″main end″<<endl; //表示主函數(shù)結(jié)束
return 0;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -