【发布时间】:2011-06-25 06:27:46
【问题描述】:
我希望创建两个类,每个类都包含另一个类类型的对象。我怎样才能做到这一点?如果我不能这样做,是否有解决方法,比如让每个类都包含一个指向另一个类类型的 指针?谢谢!
这是我所拥有的:
文件:bar.h
#ifndef BAR_H
#define BAR_H
#include "foo.h"
class bar {
public:
foo getFoo();
protected:
foo f;
};
#endif
文件:foo.h
#ifndef FOO_H
#define FOO_H
#include "bar.h"
class foo {
public:
bar getBar();
protected:
bar b;
};
#endif
文件:main.cpp
#include "foo.h"
#include "bar.h"
int
main (int argc, char **argv)
{
foo myFoo;
bar myBar;
}
$ g++ main.cpp
In file included from foo.h:3,
from main.cpp:1:
bar.h:6: error: ‘foo’ does not name a type
bar.h:8: error: ‘foo’ does not name a type
【问题讨论】:
标签: c++ class pointers header-files