注册 登录
编程论坛 C++教室

急!关于类的互相使用

陈子风 发布于 2008-03-29 16:42, 1334 次点击
定义两个类X和Y,x中有一个指向y的指针,y中有一个x类型的对象!
请各位高手帮我写个例子!
8 回复
#2
newyj2008-03-29 19:30
class y;
class x{
   friend class y;
   public:
     y* py;
}
class y{
    friend class x;
    public:
      x var;
}
不知道 对不对
#3
aipb20072008-03-29 20:05
把friend去掉就对了
#4
newyj2008-03-29 20:28
不是只有 声明为 友元后才能 访问别的类吗
直接在类中声明另一个类就行了?
class x{
   class y;
   public:
     y* py;
}
这样就行了?
#5
陈子风2008-03-29 22:05
友元是什么啊  看来得好好看看书了  谢谢大家啦
#6
sunkaidong2008-03-29 22:06
不是类的成员...用来访问类的私有成员..
#7
陈子风2008-03-29 22:17
#include<iostream>
using namespace std;
class y;
class x{
    class y;
   public:

     y* py;
}
class y{
     class x;
    public:
      x var;
}

刚才我试了一下   好像还是不行
1>------ 已启动生成: 项目: TShiYan, 配置: Debug Win32 ------
1>正在编译...
1>ShiYan.cpp
1>e:\程序\c++\tshiyan\tshiyan\T_XYlei.h(9) : error C2236: 意外的“class”“y”。是否忘记了“;”?
1>e:\程序\c++\tshiyan\tshiyan\T_XYlei.h(9) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>e:\程序\c++\tshiyan\tshiyan\T_XYlei.h(9) : error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
#8
sunkaidong2008-03-29 22:23
#include<iostream>
using namespace std;
class y;
class x{
   class  y;
   public:

     y* py;
};
class y{
    x  x1;
    public:
    x var;
};
#9
newyj2008-03-29 22:55
在X中声明类Y 的话 那个意思是说 能在X中用Y的类型还是可以用Y类中的成员来调用X类中的成员
 有点晕了
1