我有一个从抽象基类继承的类。多态:访问继承类变量
class CStateBase
{
friend class CApplication;
friend class CGraphics;
virtual int Update() =0;
};
class CStateTitle: private CStateBase
{
friend class CApplication;
friend class CGraphics;
CApplication *f_App;
int m_iR;
int Update();
CStateTitle(CApplication *App);
~CStateTitle();
};
在另一个类的方法中,CStateTitle被动态分配到CStateBase指针中。但是,如果我使用该指针尝试访问变量int m_iR,则编译器将在CStateBase中查找变量,并因此发生错误。如果我可以在基类中声明virtual int m_iR,我认为它可以正常工作,但由于某种原因,它不会让我声明虚拟数据成员。推荐解决此问题的方法是什么?谢谢你的帮助。
您很可能想要在您的基类中使用虚拟析构函数,请参阅Sutters [Virtuality](http://www.gotw.ca/publications/mill18.htm)。 – 2010-06-23 22:41:07
普通的非虚拟成员变量以何种方式不能解决您的问题? – 2010-06-23 22:42:20