在vc为什么不能相互引用

inttofloat 2004-11-23 04:22:19
比如我申明了一个类A
在A 中引用了B类生成一个变量b
如果在B中再引用A 类生成一个变量a
就会出现很多错误

怎么解决???
...全文
110 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
inttofloat 2004-11-23
  • 打赏
  • 举报
回复
不过使用 变量还是不行的 子可使用指针
为什么?

commandconque 2004-11-23
  • 打赏
  • 举报
回复
来晚了, 就是楼上的办法,在#include 后面加入class a; 或 class b;
inttofloat 2004-11-23
  • 打赏
  • 举报
回复
ok thanks
zhaopeng3 2004-11-23
  • 打赏
  • 举报
回复
// A.h
#ifndef A_H
#define A_H

class 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"
...
barsteng 2004-11-23
  • 打赏
  • 举报
回复
a.h
class b;
class a{
b & _b;
};
b.h
class a;
class b{
a & _a;
}
试试看
inttofloat 2004-11-23
  • 打赏
  • 举报
回复
怎么用啊
我两个都用指针也不行啊
如 A *a
B *b
xzqchat 2004-11-23
  • 打赏
  • 举报
回复
没尝试过,不过应该不难吧,因为是可以这样的啊
inttofloat 2004-11-23
  • 打赏
  • 举报
回复
handwolf(初学者) where???//
inttofloat 2004-11-23
  • 打赏
  • 举报
回复
怎么用指针替换!
可以详细点吗
handwolf 2004-11-23
  • 打赏
  • 举报
回复
最好用指针替换!
inttofloat 2004-11-23
  • 打赏
  • 举报
回复
没有别的吗
我只想没个类一个文件
yanw0212 2004-11-23
  • 打赏
  • 举报
回复
同意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 > 1000



class 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_)
inttofloat 2004-11-23
  • 打赏
  • 举报
回复
没有别的方法吗
老夏Max 2004-11-23
  • 打赏
  • 举报
回复
重复定义啊,呵呵,你可以将两个类定义在相同的文件中!

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧