在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'请问怎样解决?
解决方案 »
- 关于一个lib的问题
- 再请教CSrearialPort类缓冲区的问题
- 请教谁有类似这个taskpanel的类
- vc 用sdk 如何去掉窗口标题栏
- 关于设计模式的设想...高手请指教
- 请问下面的程序错在哪里啊?IOCP,可以接到连接,但是接不到发送的数据!
- 如何在安装Visual Studio .NET 2003时,如何只安装IDE和C++部分,而不安装服务器组件和.NET?
- 如何在运行了全屏的DX程序的屏幕上显示信息?
- 怎样给分?来者有分。
- ie状态栏增加文本框
- 请问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对象指针传给这个成员指针即可