Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема с заголовочными файлами (C++ Win32)

548
27 января 2009 года
Maximillian_Cavalera
157 / / 16.08.2007
Есть два класса
class A
{
public:
B* b;
};

class B
{
public:
A* a;
};

КАждый из них располагается в отдельном файле, т. е. получается что два файла ссылаются друг на друга, VS 2008 не хочет их компилировать. Как можно обойти эту проблему?
260
27 января 2009 года
Ramon
1.1K / / 16.08.2003
Код:
#1
class B;

class A
{
public:
    B* b;
};

#2
class A;

class B
{
public:
    A* a;
};


или

Код:
#1
class A
{
public:
    class B* b;
};

#2
class B
{
public:
    class A* a;
};


Когда такое не прокатит и почему, если будет интересно, выясните сами.
548
30 января 2009 года
Maximillian_Cavalera
157 / / 16.08.2007
Я не всё написал, у каждого класса есть конструктор с параметрами (конструктора без параметров нет). Я пробовал делать
Код:
class B;

class B;
class A
{
public:
    B* b;
};

#2
class A;

class B
{
public:
    A* a;
};


Но студия пишет, что нет конструктора (ошибка в class A; && class B;) Если там добавить конструктор то происходит ошибка class redefinition.
260
30 января 2009 года
Ramon
1.1K / / 16.08.2003
Цитата: Maximillian_Cavalera
Я не всё написал, у каждого класса есть конструктор с параметрами (конструктора без параметров нет).



Ну так напишите все, а еще лучше - подумайте.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог