class Z3950_error { // pure virtual class: derive concrete subclasses from it }; class Z3950_system_error: public Z3950_error { Z3950_system_error(); int errcode(); }; class Z3950_bib1_error: public Z3950_error { Z3950_bib1_error(int errcode, char *addinfo); int errcode() { return code; } char *addinfo() { return info; } };