我有一個基本異常類(其中包括)流媒體運營商:重載的操作符返回對基類的引用,如何返回對派生類的引用呢?
Base& Base::operator<<(const std::string& str);
此運算符返回*this
。
我有幾個派生類看起來像:
class Derived : public Base { };
在某些時候,我創建並拋出從基地派生的類。喜歡的東西:
try
{
[...]
}
catch(Derived& ex)
{
[...]
}
什麼是這樣做的最佳方式:
std::string myStr("foo bar");
throw Derived() << myStr;
我想用捕獲此異常?在投擲之前將基地投入派生可以嗎?我可以將基類更改爲模板而不是定義這些派生類嗎? [...]?
有趣的閱讀。感謝您的鏈接。 – Lieuwe