Есть файл FileClass1.h, содержащий объявление и реализацию класса Class1, т.е., выглядит он примерно так:
// file: FileClass1.h
#ifndef file__FileClass1_h
#define file__FileClass1_h
class Class1
{
public:
Method1()
{
// реализация...
}
Method2()
{
// реализация...
}
// ...
}
#endif // file__FileClass1_h
И есть файл FileClass2.h, содержащий объявление и реализацию класса Class2, и, вдобавок, использующий объекты типа Class1 т.е., выглядит он примерно так:
// file: FileClass2.h
#ifndef file__FileClass2_h
#define file__FileClass2_h
#include "FileClass1.h"
class Class2
{
public:
Method1()
{
Class1 obj;
obj.someMethod();
// ...
}
// ...
}
#endif // file__FileClass2_h
До этих пор всё в порядке, но, если подключить FileClass2.h в FileClass1.h, то сыпятся ошибки компиляции (например FileClass2.h: Class1 -- is not a class or namespace name).
Как сделать перекрёстные ссылки между классами, чтобы Class1 мог использовать Class2, а Class2 мог использовать Class1?
... << RSDN@Home 1.1.4 @@subversion >>