У меня есть базовая настройка:
enum{
BASE,
PRIMITIVE,
...
};
class IUnknown{
public:
bool inline is(int type){return inv_type == type;}
private:
enum {inv_type = BASE};
};
class Primitive: public IUnkown{
private:
enum {inv_type = PRIMITIVE};
};
Моя проблема в том, что я хотел бы иметь возможность вызова на экземпляре Primitive, и он должен иметь значение true, если тип равен значению в перечислении, которое я объявил в классе Primitive.
Единственное решение, которое я нашел, это объявить функцию ' is ' как виртуальную и иметь копию в каждом подклассе, но я подумал, можно ли как-то переопределить перечисление и получить функция в IUnkown принимает значение оттуда