在CPageDoc类中,定义了一个public:int m_nKey;在别一个类CPageDlg中这样取CPageDoc类中的数据;
void CPageDlg::OnButtonSeed()
{
// TODO: Add your control notification handler code here
CPageDoc doc;
doc.m_nKey;}编译产生这样的错误:
'CPageDoc::CPageDoc' : cannot access protected member declared in class 'CPageDoc'请问怎样解决?
void CPageDlg::OnButtonSeed()
{
// TODO: Add your control notification handler code here
CPageDoc doc;
doc.m_nKey;}编译产生这样的错误:
'CPageDoc::CPageDoc' : cannot access protected member declared in class 'CPageDoc'请问怎样解决?
解决方案 »
- 形象地说说对进程,线程的认识
- MFC树控件问题!请高手指教,急!!!!!
- 我们办公室最近经常断电,请问如何知道电脑的断电时间啊?
- 关于CDBVariant
- 想用SDK方式搞个属性页,怎么都出不来..帮帮忙!!!!!!!1
- 请问移动CDialogBar后,界面没有刷新是怎么回事?
- mfc
- 请问各位大侠MFC怎样实现网络专线传输(传输excel文件)?有分!!!
- 一个图像旋转90度,谈谈如何做到速度快
- 关于vs2008内存泄露问题
- 请问WinInet中如何获得跳转页面的地址?
- HOOK OF COM (1)最近写COM程序,看到这个,翻译了以下,有错在所难免,欢迎指教(使用最新的MSDN 在VC6.0中)
:
class CPageDoc : public CDocument
{
protected: // create from serialization only
CPageDoc();
DECLARE_DYNCREATE(CPageDoc)
它说的是这里为protected,但这个虚构函数不是我设的,要怎么改;或者说有什么命令可以直接读数据出来,像在CPageView类中,是可以这样的: CPageDoc* pDoc = GetDocument();
但GetDocument()在CPageDlg类中却不能用,在CPageDlg类要用什么命令?
2、这样的设计实际上是为了避免在外部直接建立CPageDoc对象。一般来说可以重载operator new,把它设计为CPageDoc的友元,然后用new来建立CPageDoc类的实例。
难道在CPageDlg类中没有类似的命令吗?
Dialog并不属于Doc/View框架,无从谈起“与之关联的Doc对象”,所以GetDocument对Dialog类没有意义。ps,你可以自己模拟CView类的这个做法。
对话框构造的时候,把Doc对象指针传给这个成员指针即可