//: C01:Covariance.cpp {-xo} // Should cause compile error. {-mwcc}{-msc} #include <iostream> using namespace std; class Base { public: class BaseException {}; class DerivedException : public BaseException {}; virtual void f() throw(DerivedException) { throw DerivedException(); } virtual void g() throw(BaseException) { throw BaseException(); } }; class Derived : public Base { public: void f() throw(BaseException) { throw BaseException(); } virtual void g() throw(DerivedException) { throw DerivedException(); } }; ///:~
Listado 2.16. C01/Covariance.cpp