23:  Warning: Protected inheritance is sometimes not a good idea. Read http://stackoverflow.com/questions/6484306/effective-c-discouraging-protected-inheritance for more information.
/var/www/pvtdir/tmpOs_R9q/test.cpp(29): operator bool() is dangerous. In C++11 use explicit conversion (explicit operator bool()), otherwise use something like the safe-bool idiom if the syntactic convenience is justified in this case, or consider defining a function (see http://www.artima.com/cppsource/safebool.html for more details).
/var/www/pvtdir/tmpOs_R9q/test.cpp(30): Advice: Prefer `nullptr' to `NULL' in new C++ code.  Unlike `NULL', `nullptr' can't accidentally be used in arithmetic or as an integer. See http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf for details.
/var/www/pvtdir/tmpOs_R9q/test.cpp(23): Warning: std::exception should not be inherited non-publicly, as this base class will not be accessible in try..catch(const std::exception& e) outside the derived class. See C++ standard section 11.2 [class.access.base] / 4.