簡體   English   中英

從std :: runtime_error繼承

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM