Class A::public C
Class B::public C
 在基类C中有public:double x,y;(这样x,y在A,B都能用吧)
现在对话框类CdlgA输入数据 m_strx(double) CdlgB输入数据m_stry(double)
如何把m_strx和m_stry的值赋给x,y啊,我要在CMyView中的函数利用xy计算。我这样做的不对,我在CMyView中包含"C.h""CdlgA.h" 头文件,
CdlgA dlgA;
x=dlgA.m_strx;
错误是运行后,对话框一赋值就 Access Violation,
应该咋办,问问大家有啥意见

解决方案 »

  1.   

    给你写个简单的例子
    /************************/
    //cmyview.h
    /************************/
    #include "C.h"   //class c headclass CMyView : public CView
    {
        ....
        ....
        classC dlgC;
    };/************************/
    //cmyview.cpp
    /************************/
    #include "A.h"   //class a head
    #include "B.h"   //class b head
    #include "myview.h" //class CMyView head...
    ...
    void CMyView::xxxx()
    {
       ClassA dlgA; 
       dlgC.x = dlgA.m_strx;
       ClassB dlgB; 
       dlgC.y = dlgB.m_stry;
    }
      

  2.   

    你只是声明了一个对话框对象,该对象还未创建。试试下面的代码:CdlgA dlgA; 
    if(dlgA.DoModal()==IDOK)
        x=dlgA.m_strx;