printfのように動作するコンストラクターで使用するのに便利な例外クラスを作成しようとしています。例:
class ExcBase
{
ExcBase(const char *fmt, ...)
{
// call things like vsprintf
}
};
しかし、コンストラクトの継承はC ++では利用できないようですので、継承されたクラスを次のように書きたいと思います:
class ExcChild : public ExcBase
{
ExcChild(const char *fmt, ...)
: ExcBase(fmt, ...) // XXX: how to pass the trailing parameters to the constructor?
{
}
};
または、すべての子クラスに対して同じコンストラクターを作成する必要があり、それは面倒でした...
この質問は私を大いに悩ませています。これを解決する方法がわかりません...どんな情報でも大きな助けになります...