怎么在一个类中使用另一个类的protected变量

如何在一个类中使用另一个类的protected变量?
例如:
class COrigPaneView : public CFormView
{
DECLARE_DYNCREATE(COrigPane)

protected:
COrigPane(); // 动态创建所使用的受保护的构造函数
virtual ~COrigPane();

public:
enum { IDD = IDD_ORIGNALPANE };
#ifdef _DEBUG
virtual void AssertValid() const;
#ifndef _WIN32_WCE
virtual void Dump(CDumpContext& dc) const;
#endif
#endif

protected:
CMFCTabCtrl m_tabCtrl;
TFColorListCtrl m_listCtrl;

protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持

DECLARE_MESSAGE_MAP()
public:
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
};

如何在另一个对话框类里使用上面COrigPaneView类的红色的变量?
听说可以以下方法获得指针,但我还是不懂,哪个大侠能给个详细的解法么?
CMainFrame *pMain = (CMainFrame *)AfxGetApp()->m_pMainWnd;
COrigPane *pView=(COrigPane *)pMain->GetActiveView();

------解决方案--------------------
1。从该类派生新类。
2。用_ASM
------解决方案--------------------
这个方法是访问public类型的变量,想访问私有类,有个网友公布了方法,你试试,我没这么试:
class COrigPaneView : public CFormView
{
DECLARE_DYNCREATE(COrigPane)

friend dialog_class;//加上这句,dialog_class是自己定义的对话框类名

protected:
COrigPane(); // 动态创建所使用的受保护的构造函数
virtual ~COrigPane();

public:
enum { IDD = IDD_ORIGNALPANE 
...
}
其实你还可以这么取得私有变量值
class COrigPaneView : public CFormView
{
DECLARE_DYNCREATE(COrigPane)

protected:
COrigPane(); // 动态创建所使用的受保护的构造函数
virtual ~COrigPane();

public:
enum { IDD = IDD_ORIGNALPANE };
private:
int m_a;//兴个简单例子,象CMFCTabCtrl m_tabCtrl;这种类型,可以定义CMFCTabCtrl *m_tabCtrl;指针,这样下面的函数就可以返回这个变量的指针.
public:
void SetVslue(int a){m_a=a};
int GetValue(){return m_a}
...
}
在对话框里这么引用:
CMainFrame *pMain = (CMainFrame *)AfxGetApp()->m_pMainWnd;
COrigPane *pView=(COrigPane *)pMain->GetActiveView();
pView->SetValue(3);
int a=pView->GetValue();
------解决方案--------------------
是的把这个变量放在public下,然后用你上面说的指针去找就能用了。也可以把这个变量设为全局的也可以,但尽量少用全局的变量。