I have a class hierarchy, and each class in it has an exception class, derived in a parallel hierarchy, thus...
class Base
{
};
class Derived : public Base
{
};
There isn't any native way to do it, but it can be easily done with defines: Here is little example:
#define _Enum1_values a, b, c, d
enum Enum1 {
_Enum1_values
};
// there aren't strongly typed enums
class A {
public:
enum Enum2 {
_Enum1_values, e, f
};
};
// there aren't strongly typed enums
class B {
public:
enum Enum3 {
_Enum1_values, g, h
};
};
#include
int main() {
std::cout << "Enum1::d: " << d << '\n';
std::cout << "Enum2::d: " << A::d << '\n';
std::cout << "Enum2::e: " << A::e << '\n';
std::cout << "WARNING!!!: Enum2::e == Enum3::g: " << (A::e == B::g) << '\n';
}