我有一个类CListboxDlg
class CListboxDlg : public CDialog
{
public:
int num_jds;
}
现在有个类Calculate.h
class CCalculate  
{
public:
static double calculatemile();
}
//Calculate.cpp
double CCalculate::calculatemile()
{
这里面需要用到num_jds的值,请问都有些什么方法可以把num_jds的值传过来?}

解决方案 »

  1.   

    double CCalculate::calculatemile(const CListboxDlg *v_pListboxDlg)
    {
    //...
    v_pListboxDlg->num_jds;//....
    }
    其实方法很多
      

  2.   

    首先num_jds 也必须是静态的
      

  3.   


    你能不能都写一写啊,最好是double CCalculate::calculatemile()
    这个函数括号里面没有东西的,因为我不知道调用它的时候,括号里要写啥子
      

  4.   


    这个我知道,我想问下这个,假如我在
    void CTestDlg::OnPok() 
    {
    double mile;
    mile=CCalculate::calculatemile(括号里应该写什么);
    }
      

  5.   

    把你的int num_jds;成员也定义为static就可以了
      

  6.   

    怎么不行呢?static成员函数,肯定是可以访问static成员变量的
      

  7.   

    括号里传this指针不就行了,当然我是认为你这个CTestDlg是你那个CListBoxDlg啊
      

  8.   

    晕死,你到底想怎么样?static num_jds;然后
    CListboxDlg::num_jds直接用就行了。传什么啊。。
      

  9.   

    如果你想通过
    class CCalculate  的
    static double calculatemile();
    函数返回,那就
    return CListboxDlg::num_jds或者
    static double calculatemile(int *Value);
    *Value=CListboxDlg::num_jds够明白了吧。
      

  10.   

    怎么可能不行,难道编译不同过?
    别忘了在app 开头加上这句
    int CListboxDlg::num_jds = 0;不行我吃了它。。
      

  11.   

    double CCalculate::calculatemile()
    {
       CListboxDlg px= getDlgPointer();// 自己写一个
        int xxx =  px->num_jds;         // 获取成功
    }
      

  12.   

    class CListboxDlg : public CDialog
    {
    public:
    static int num_jds;
    }class CCalculate   
    {
    public:
    static double calculatemile();
    }
    //Calculate.cpp
    double CCalculate::calculatemile()
    {
    CListboxDlg::num_jds;
    }