p185.cpp
来自「《C++编程指南(续编)》的一些程序源代码」· C++ 代码 · 共 67 行
CPP
67 行
#include <iostream>
#include <string>
using namespace std;
class Student
{
public:
Student(char * pLN,char * pFN,
int nGrd,unsigned long ulId);
~Student();
protected:
std::string sLName;
std::string sFName;
int nGrade;
unsigned long ulID;
};
Student::Student(char * pLN,char * pFN, int nGrd,unsigned long ulId):sLName(pLN),sFName(pFN)
{
cout<<"Constructing"<<(sFName+" "+sLName)<<endl;
nGrade=nGrd;
ulID=ulId;
}
Student::~Student()
{
cout<<"Destructing"<<(sFName+" "+sFName)<<endl;
}
int someError()
{
return 1;
}
void fn2()
{
cout<<"Entering fn2"<<endl;
Student s2("Rabbit","Butthead",-2,876543210L);
int nErrRtn;
if(nErrRtn=someError())
{
cout<<"Throwing error"<<nErrRtn<<endl;
throw nErrRtn;
}
cout<<"Continuing on in f2()"<<endl;
}
void fn1()
{
cout<<"Entering fn1"<<endl;
Student s1("Rabbit","Beavis",1,765432109L);
cout<<"Calling fn2 from fn1"<<endl;
fn2();
cout<<"Continuing on in fn1"<<endl;
}
int main(int,char **)
{
try
{
cout<<"Calling fn1 from main"<<endl;
fn1();
cout<<"Continuing on in main"<<endl;
}
catch (int nErrRtn)
{
cout<<"Fielded error"<<nErrRtn<<endl;
}
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?