[英]Inheriting from std::runtime_error
我正在編寫自己的Exception類:
class Exception : public std::runtime_error{
}
我想重載what()
。 我怎樣才能做到這一點?
另外,從std::runtime_error
繼承時,我要記住什么?
我認為這是runtime_error的一部分,我認為它是虛擬的,因此要重載它,您需要創建一個方法簽名完全相同的方法。 因此,如果將瀏覽器指向: http : //www.cplusplus.com/reference/exception/exception/,那么您將看到what()的定義。
因此,要使其過載,您將需要在頭文件中執行以下操作:
class Exception : public runtime_error
{
public:
const char* what() const throw();
}
那么您可以在cpp文件中進行定義:
const char* Exception::what() const throw()
{
// do stuff
}
希望能幫助到你...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.