Exception slicing - is this due to generated copy constructor?
I've just fixed a very subtle bug in our code, caused by slicing of an exception, and I now want to make sure I understand exactly what was happening. Here's our base exception class, a derived class, and relevant functions: class Exception { public: // construction Exception(int code, const char* format="", ...); virtual ~Exception(void); <snip - get/set routines and print function> protected: private: int mCode; // thrower sets this char mMessage[Exception::MessageLen]; // thrower says this FIXME: use String }; class Derived : public Exception { public: Derived (const char* throwerSays) :