关于#include 的问题 有类A(头文件A.h) 有另一个类B(头文件B.h)我能否在A.h中 #include "B.h" 同时又在B.h中 #include "A.h" 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 当然可以。问题是 你在A.h中首先写:#if !defined(_A_H)#define _A_H...#endifB中也是一样#if !defined(_B_H)#define _B_H...#endif这样保证只可能include一次。 建议写头文件的时候这样写:a.h#if!defined(_A_H)#define _A_H//a的头文件内容#endifb.h#if!defined(_B_H)#define _B_H//b的头文件内容#endif这样怎么套都没事了 lord_tyreal(毒药):英雄所见啊!几乎雷同! 相互包含在许多编译器里面都不允许。你尽量让A.cpp include b.h and b.cpp include a.hif this does not satisfy you situation,you may chose pre-declaraion.for example: add "class a;" before the defination of class b.and include a.h in b.cpp 补充一点如果是用在VC中用VC的功能来添加的类那么就不要写条件编译了VC已经给你做好了 同意opentuxedo(开缝的燕尾服)至少在VC我试过,报告有一个类没有定义,zhangxhsj(泡泡龙) 和毒药的方法是绝对用了的 相互包含是可以避免的,仔细看看C++关于申明和定义的区别就可以了 一般的是classA,classB不可能同时classA有一个classB的成员变量,classB有一个classA的成员变量,那样你想想类的大小...一般如此:classA有一个classB的成员变量,ClassB有ClassA的指针因为在Win32环境里,指针是一个32位的值,编译器知道分配多少内存,所以classB.h不必包含classA.h,只要加上一句class classA就可以了假如classB.cpp中要用到classA的成员或方法,在classB.cpp中包含 classA.h就可以了 求助:数据库的一点问题 做系统出现问题! 到底想做一个向<金山游侠>的呼出截面要怎样? 请教:listview中,怎样改变item的高度 redo/undo的实现方法求助!!!急!!!! 如何將翦裁板中的圖象打印出來??? 如何在Win32程序中使用MFC的类? 对话框数据输入后如何实现视图的重绘 answer me 100分重赏!!!回答者均可适当得分,(我有1000多可用分,不会不够用的:) 如何做一个系统钓子,详细的,100分!! CComboBox的问题,很奇怪,虽然解决了,可是还很不明白。。。
#if !defined(_A_H)
#define _A_H
...
#endifB中也是一样
#if !defined(_B_H)
#define _B_H
...
#endif这样保证只可能include一次。
a.h
#if!defined(_A_H)
#define _A_H
//a的头文件内容
#endifb.h
#if!defined(_B_H)
#define _B_H
//b的头文件内容
#endif这样怎么套都没事了
英雄所见啊!几乎雷同!
你尽量让A.cpp include b.h and b.cpp include a.h
if this does not satisfy you situation,you may chose pre-declaraion.
for example: add "class a;" before the defination of class b.
and include a.h in b.cpp
如果是用在VC中用VC的功能来添加的类
那么就不要写条件编译了VC已经给你做好了
至少在VC我试过,报告有一个类没有定义,zhangxhsj(泡泡龙) 和毒药的方法是绝对用了的
相互包含是可以避免的,仔细看看C++关于申明和定义的区别就可以了
不可能同时classA有一个classB的成员变量,classB有一个classA的成员变量,
那样你想想类的大小...
一般如此:
classA有一个classB的成员变量,ClassB有ClassA的指针
因为在Win32环境里,指针是一个32位的值,编译器知道分配多少内存,
所以classB.h不必包含classA.h,只要加上一句class classA就可以了
假如classB.cpp中要用到classA的成员或方法,在classB.cpp中包含 classA.h就可以了