class 关联!
如何使两个类相互关联,就是使 “你使用我,我也是用你“,我只如include .h文件可以顺利的编译.
谢谢! 请大家帮帮忙!
问题点数:60、回复次数:9Top
1 楼FireEmissary(咒火使者)回复于 2004-09-01 09:00:16 得分 0
friend么Top
2 楼Andy84920(你也不懂)回复于 2004-09-01 09:38:42 得分 10
class a;
class b{
friend class a; //b使用a
};
class a{
friend class b; //a使用b
};
有什么问题么?Top
3 楼kunp(一天一小步)回复于 2004-09-01 09:47:50 得分 10
是否是互为父子关系?
Class Father
{
public:
……
private:
Child m_child;
};
Class Child
{
public:
……
private:
Father* m_p_father;
}
这样父子元素可以互相访问,当然构造函数你得专门写一下。Top
4 楼Polarislee(北极星)(无房无车,飘在北京)回复于 2004-09-01 09:55:58 得分 20
我向楼主是指两个类互相依赖的的情况。
那样一定有一个类里只用到了另一个的指针或引用,那样就可以使用前置声明而不需要包含头文件,如:
//class A
#include "b.h"
class A{
B b;
};
//class B
class A;
class B{
A* a;
}Top
5 楼lwj_dxy(豆芽--抵制日货)回复于 2004-09-01 13:45:43 得分 0
upTop
6 楼hanpine(老品)回复于 2004-09-02 10:59:37 得分 5
如果两个类互相引用对方,要用前置声明,如 北极星所言Top
7 楼waini11(王子)回复于 2004-09-02 12:03:20 得分 10
类关联有很多种的 比如说
class a
{
};
class b
{
private
a d;
};
这也是一种Top
8 楼darkstar21cn(≮天残≯无畏)(死亡进行时)回复于 2004-09-02 13:11:14 得分 0
关联有几种:
继承,包含,属于Top
9 楼somedummy(某人马甲)回复于 2004-09-02 14:58:01 得分 5
楼主的意思比较模糊,如果是两个类互相引用对方的成员的话用friend就可以了,如果需要做到你中有我,我中有你,就必须用指针(引用都不行,否则会造成无法正常初始化,不正常的方法我有思路,但是实现失败)Top




