分析问题:
先看下继承关系:CMyView,CMainFrame 都是CView的子类。CMyView封装了str1(private类型),CMainFrame封装了str2(private 类型)
方法有:
1.采用友元类或方法可以访问到访问到私有变量。
2.CMainFrame类提供Getter方法
3.主动改变str2的访问符为public
获得CMainFrame类的对象指针:
这些方法都要获得CMainFrame的对象或引用或对象指针。
指针获得可以通过全局方法,指针变量成员,可以通过句柄转换,可以通过指针转换(CMainFrame和CMyView有兄弟关系)
在CMainFrame中
CMainFrame* pMainWnd = (CMainFrame*)AfxGetMainWnd();
CView *pView = pMainWnd->GetActiveView();
str2 = pView -> str2;
AfxGetMainWnd 然后强转指针了访问
全局变量