Пересекающиеся инклюдники
От: WinterMute Россия http://yarrr.ru
Дата: 19.09.04 12:27
Оценка:
Есть файл 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 >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.