如何获取其他类中的stadic变量的地址代码如下C/C++ codeCWnd* SkinUtil::GetParent(CStringList& strList)
如何获取其他类中的stadic变量的地址
代码如下
- C/C++ code
CWnd* SkinUtil::GetParent(CStringList& strList){ CWnd* pWndNewParent; ParentCode = _ttoi(strList.GetAt(strList.FindIndex(0) )); CWnd *Parent; switch(ParentCode) { case PROTECTEDINFO: pWndNewParent = &m_protectedInfo; return(pWndNewParent); case MAINLEFT: pWndNewParent = &m_MainLeft; return(pWndNewParent); case MAINTITLE: pWndNewParent = &m_MainTitle; return(pWndNewParent); case MAINSTATUS: pWndNewParent = &m_MainStatus; return(pWndNewParent); case MAINVIEW: pWndNewParent = &m_MainView; return(pWndNewParent); }}这个函数所在的类是SkinUtil,而四个变量m_protectedInfo、m_MainLeft、m_MainTitle、m_MainStatus、m_MainView在SkinButton中,要通过什么方式能获取他们的地址,5个变量定义如下:
- C/C++ code
public: CSkinStatic m_MainTitle; CSkinStatic m_MainStatus; CSkinStatic m_MainView; CSkinStatic m_MainLeft; private: CSkinStatic m_protectedInfo;
[解决办法]
&SkinButton::m_MainLeft, 可以按照这种方式去获得public成员的地址, 至于m_protectedInfo, 它是私有的, 在外面不能直接访问, 你应该给SkinButton加上一个函数去获取它的地址, 当然这个函数也是static的
[解决办法]
在类中public一个static函数,返回其地址。
