比如我申明了一个类A
在A 中引用了B类生成一个变量b
如果在B中再引用A 类生成一个变量a
就会出现很多错误怎么解决???

解决方案 »

  1.   

    同意vcleaner(我没做大哥已经很久了.......) ( ) 我试过,可以的
    把你的类定义都写在一个H文件中
    // A.h: interface for the A class.
    //
    //////////////////////////////////////////////////////////////////////#if !defined(AFX_A_H__09B8AC12_0457_4986_9BE0_7A7A2C53D407__INCLUDED_)
    #define AFX_A_H__09B8AC12_0457_4986_9BE0_7A7A2C53D407__INCLUDED_#if _MSC_VER > 1000
    #pragma once
    #endif // _MSC_VER > 1000class A  
    {
    public:
    A()
    { }

    virtual ~A()
    { } B b;};
    class B
    {
    public :
    B()
    { }
    virtual ~B()
    { }
        A a;}#endif // !defined(AFX_A_H__09B8AC12_0457_4986_9BE0_7A7A2C53D407__INCLUDED_)
      

  2.   

    怎么用啊
    我两个都用指针也不行啊
    如 A  *a
       B  *b
      

  3.   

    a.h
    class b;
    class a{
    b & _b;
    };
    b.h
    class a;
    class b{
    a & _a;
    }
    试试看
      

  4.   

    // A.h
    #ifndef A_H
    #define A_Hclass B;
    class A
    {
    ...
    private:
    B m_b;
    };
    #endif// A.cpp
    #include "A.h"
    #include "B.h"
    ...// B.h
    #ifndef B_H
    #define B_H
    class A;
    class B
    {
    ...
    private:
    A m_a;
    };
    #endif// B.cpp
    #include "B.h"
    #include "A.h"
    ...
      

  5.   

    来晚了, 就是楼上的办法,在#include 后面加入class a; 或 class b;