[英]C++ Inheritance Enum
在C ++中,我有一个基类A,例如:
class A {
enum type {B, C, D, E};
....
....
}
对于每种枚举类型,我都有一个从基A派生的类。
例如,我有一个这样的班级:
class B : public A {
int x;
....
....
};
我的问题是:对于一个A对象,从中我知道它是类型B,因此它对应于类B,是否可以访问变量x,例如,是否可以访问变量x? 我知道从基层访问派生类有点棘手,但我想那是不一样的事情。
如果您拥有A *a
或A &a
并确定它确实指向/引用了类型B
的对象,则可以使用强制转换:
A *a = ...;
B *b = static_cast<B*>(a);
要么
A &a = ...;
B &b = static_cast<B&>(a);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.