#include <iostream>
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 << "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;
cout << "Hello world!" << endl;
return 0;
}
输出:
main begin
call fun()
constructor-1101
in get_data()
constructor-0
destructor-0
num=0,error!
destructor-1101
main end
Hello world!
在Code::Blocks中运行,参考谭浩强C++程序设计上机操作。