我一直被类之间的变量传递困扰着:今碰到问题
我自己创建的类
myclass
{
 CMyList m_List;
 CEdit* m_pEdit;
.....
}
class CMyList : public CListCtrl
{
...
};我现在怎么样把我自己类的变量m_pEdit传递到CMyList 类里处。因为在CMyList里有个滚动条函数需要响应,响应的时候要对m_pEdit处理。不知道说清楚了没,谢谢,回答马上给分

解决方案 »

  1.   

    在 CMyList 加个 CEdit* 变量 m_pEdit;添加一个方法,如 
    void attachEditPtr(CEdit *pEdit)
    {
        m_pEdit = pEdit;
    }
      

  2.   

    一般自己写个函数,例如在myclass中写个函数:
    CEdit* GetEdit()
    {
    return m_pEdit;
    }给它赋值可以用
    void SetEdit(CEdit* pEdit)
    {
    m_pEdit=pEdit;
    }然后在CMyList 中调用这两个函数
      

  3.   

    如果按一楼所说:则我应该在xxx我自己的类里调用函数
    void attachEditPtr(CEdit *pEdit) 

        m_pEdit = pEdit; 

    但提示错误。
    Run-Time Check Failure #2 - Stack around the variable 'm_pSetObj' was corrupted.感觉没任何关系的,就出错了~~
      

  4.   

    我想问的是,我要调用getEdit,或者setEdit,这个好说,我混淆的就是,调用这些函数,要创建对象吧,而这对象怎么创建,创建在哪个类里,?能不能具体一点。刚学
      

  5.   

    假如myclass的类为CDlg;
    在class CMyList 中#include "Dlg.h"以下是调用变量:
    CDlg *p=(CDlg *)GetParent();
    p->m_pEdit.   //调用你申明的变量
     
      

  6.   

    5楼的意思是调用派生类的函数吧,估计没太清楚我的意思,我要CDlg *p=(CDlg *)GetParent(); 还不如直接定义GetParent为派生类呢
      

  7.   


    lz不是要调用myclass 中的成员变量m_pEdit吗?如果不是的话,那我就不懂lz的要求了。
    #include "myclass .h" 
    myclass *p=(myclass *)GetParent(); //获得myclass 类的指针
    p->m_pEdit.getEdit()  //调用你申明的变量