//: C09:Database.h // From "Thinking in C++, Volume 2", by Bruce Eckel & Chuck Allison. // (c) 1995-2004 MindView, Inc. All Rights Reserved. // See source code use permissions stated in the file 'License.txt', // distributed with the code package available at www.MindView.net. // A prototypical resource class. #ifndef DATABASE_H #define DATABASE_H #include #include #include struct DatabaseError : std::runtime_error { DatabaseError(const std::string& msg) : std::runtime_error(msg) {} }; class Database { std::string dbid; public: Database(const std::string& dbStr) : dbid(dbStr) {} virtual ~Database() {} void open() throw(DatabaseError) { std::cout << "Connected to " << dbid << std::endl; } void close() { std::cout << dbid << " closed" << std::endl; } // Other database functions... }; #endif // DATABASE_H ///:~