不可用的公共变量

时间:2015-03-21 18:15:36

标签: c++ class

class A()
{};

class B : public A()
{public:int x};
int main()
{
 A* test = new B();
 test->x = 1;
 return 0;
}

为什么x不可用?我怎么能解决它?谢谢。

1 个答案:

答案 0 :(得分:1)

因为编译器只在类A的方法/成员中检查x。你已经将它声明为A,它实际上要么是B,要么在你使用时需要转换为B.它。

另外,这是家庭作业吗?这似乎是做作的。