【发布时间】:2010-09-07 14:14:57
【问题描述】:
我有一个类层次结构,其中的每个类都有一个异常类,派生在一个并行层次结构中,因此...
class Base
{
};
class Derived : public Base
{
};
class BaseException : public std::exception
{
enum {THIS_REASON, THAT_REASON};
};
class DerivedException : public BaseException
{
// er...what?
};
我想在 DerivedException 类中扩展枚举类型以包含一个新值 THE_OTHER_REASON,以便 DerivedException 类可以保存这三个值中的任何一个。
首先,我应该这样做吗?这似乎是一种合理的做法?如果是这样,我该怎么做?如果没有,您会推荐哪些替代方案?
编辑:已建议可能重复 here,但建议的解决方案不同,因为该问题针对 C#,而针对 C++。
【问题讨论】:
-
@JayElston 我想知道以前没有人注意到:您的可能重复是给c#的。 C# 中的限制可能类似,但我不认为这是一个适当的重复。
标签: c++ inheritance