私はruntime_error
、c'torから派生し、intを取得している独自の例外クラスを作成しました。
ポリモーフィズムを使用するために、この例外の基本クラスを作成したいので、基本クラスのみをキャッチでき、基本的には派生クラスをキャッチして、そこから.what()メソッドを呼び出します。
したがって、これは基本クラスです:(別のcppファイルのofcでbaseException ::〜baseException(){}を取得しました)
class baseException
{
virtual ~baseException()=0 {}
virtual const char* what()=0;
};
そしてこれは派生クラスです:
class myException: public runtime_error, public baseException
{
public:
myException(int): runtime_error("Error occured") {}
const char* what() {return runtime_error::what();}
};
しかし、メインで私が書くとき:
catch(baseException* x)
{
cout<<x->what();
}
myExceptionがbaseExceptionを継承していても、スキップしてブロックには入りません。何か提案はありますか?