p190.cpp
来自「《C++编程指南(续编)》的一些程序源代码」· C++ 代码 · 共 78 行
CPP
78 行
#include <iostream>
#include <ctype.h>
#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;
}
class Err
{
public:
Err(int nErrCode,char * pszReason):nCode(nErrCode),sReason(pszReason)
{
}
void display(ostream& out)
{
out<<nCode<<" : "<<sReason;
}
protected:
int nCode;
string sReason;
};
int someError()
{
return 1;
}
void fn2()
{
Student s2("Rabbit","Butt-head",2,876543210L);
int nErrRtn;
if(nErrRtn=someError())
{
throw Err(nErrRtn,"Error returned to fn2 from someError");
}
}
void fn1()
{
Student s1("Rabbit","Beavis",1,765432109L);
fn2();
}
int main(int,char **)
{
try
{
fn1();
}
catch (Err& error)
{
cout<<"Fielded error ->";
error.display(cout);
cout<<endl;
}
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?