[英]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.