【发布时间】:2013-04-23 08:19:08
【问题描述】:
在最基本的层面上,我需要一个类的方法来访问另一个类的私有数据,例如:
foo.h:
class foo{
void method( void );
}
bar.h:
class bar{
friend void foo::method( void );
}
但是,方法需要知道要访问哪个对象,使它看起来更像这样:
foo.h:
class foo{
void method(bar* point);
}
bar.h:
class bar{
friend void foo::method(bar* point);
}
但是,正如您所看到的,这会产生循环依赖:bar 需要 foo.h 来声明朋友,而 foo 需要 bar.h,因为它使用 bar 指针。该方法如何知道要访问哪个对象?
【问题讨论】:
-
你可以转发声明类在另一个之上。
-
@0x499602D2 为什么不发布答案?
标签: c++