在Class A中有一个成员函数void A();
在Class B中有一个Public成员函数void B();
如果在函数A中想调用B函数,怎么处理???
麻烦写详细些,本人刚刚接触C++,不太熟悉

解决方案 »

  1.   

    >如果在函数A中想调用B函数,怎么处理???
    ---------------------------
    在 A 中写
     B::B();
      

  2.   

    void A::A()
    {
       B objB;
    }
      

  3.   

    很显然,在类B没有初始化之前,不能访问B的成员函数,除非声明成Static类型class A
    {
       a();
       void func(B);
    }
    class B
    {
       b();
       void funb();
    }
    void A:: func(B b)
    {
       b.funb();
    }
    int main()
    {
       A a;
       B b;
       a.func(b);
    }
    }
      

  4.   

    #include <iostream.h>class B
    {
    void b()
    {
    }
    };
    class A
    {
    b();
    };
    void main()
    {
    B bb;
    }
      

  5.   

    还是不太明白,具体说吧ADlg类中的OnOK()函数要调用类BDlg中的disable()函数,怎么办???怎么编译都无法通过。
    其中disable()函数是将类BDlg视图中的几个button  disable
      

  6.   

    把 B 中要调的成员函数声名为 static 即可, 比如:
    class B
    {
    public:
    static void Hello() {printf("BBB\n");}
    };class A
    {
    public:
    void Hello() 
    {
    printf("AAA\n");
    B::Hello(); // 这里调用.
    }
    };
      

  7.   

    如果要相互引用(即二个类互为成员)则定义为友员
    否则只是一个类要引用另一个类则,先定义类B,再定义类A,这样就更简单了,为了清楚,我就说第一种,即复杂一点的相互引用:class B;
    class A{
    B *m_pB;
    }class B{
    A mA;
    }
    即可
    我里面使用的虽是成员,但实际是另一个类的实例,你要使用他的函数,则B::b_func()即可.
      

  8.   

    在A的声明中
    class A
    {void A();
     B *b;
    }
    定义函数void A::A()
    {b->B();
    }
      

  9.   

    唉,大家说得都不错,但是具体用起来还是不行,因为我的一个类是个dlog生成的,另一个是view的类
      

  10.   

    在Class A中有一个成员函数void A();
    在Class B中有一个Public成员函数void B();
    如果在函数A中想调用B函数,怎么处理???答案:
    情形一:
    class B
    {
    public:
        void B()
        {
         // do somthing;
        }}
    class A
    {
        void A()
       {
          //先申明一个B对象
          B b;      //调用 class B的函数B;
          b.B();
        }
    }情形二:
    class B
    {
    public:
        static void B()
        {
         // do somthing;
        }
    }class A
    {
        void A()
       {
         //直接调用 class B的静态函数B;
          B::B();
        }
    }