Форум программистов, компьютерный форум CyberForum.ru

Предварительное объявление класса - C++

Восстановить пароль Регистрация
 
klik07
3 / 3 / 0
Регистрация: 17.11.2013
Сообщений: 33
02.03.2014, 17:52     Предварительное объявление класса #1
Имеется код такого вида:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class IBase {
public:
virtual foo() = NULL;
..
..
..
};
 
class A: public IBase {
private:
B *x;
..
..
..
}
 
class B: public A {
..
..
..
}
Думаю, проблема многим уже видна. Этот код компилироваться не хочет, так как классы A и B имеют взаимную зависимость. Я не знаю как правильно объявить эти классы, чтобы код стал рабочим. Читал про .cpp и .h файлы, но как с ними работать не разобрался. Объясните на пальцах, как исправить проблему)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2014, 17:52     Предварительное объявление класса
Посмотрите здесь:

C++ Объявление структуры и класса
C++ Предварительное объявление
C++ Объявление класса с шаблоном
Объявление шаблонного класса C++
C++ Объявление класса Patient
C++ Двойное объявление класса
C++ Предварительное объявление классов. Вызвать функцию до реализации класса
Объявление класса Point C++
C++ Объявление объекта класса
C++ Объявление объектов класса
Предварительное объявление для класса, помещенного в простанство C++
Два класса в одном заголовочном файле, предварительное объявление C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
6048 / 5651 / 1826
Регистрация: 18.12.2011
Сообщений: 14,437
Завершенные тесты: 1
02.03.2014, 17:55     Предварительное объявление класса #2
C++
1
2
3
class B;
class A: public IBase {
...
klik07
3 / 3 / 0
Регистрация: 17.11.2013
Сообщений: 33
02.03.2014, 17:58  [ТС]     Предварительное объявление класса #3
так дело в том, что
C++
1
2
3
4
class B: public A {
..
..
}
по смыслу по-другому уже никак не сделать
retmas
Жарю без масла
824 / 706 / 151
Регистрация: 13.01.2012
Сообщений: 1,617
02.03.2014, 18:25     Предварительное объявление класса #4
добавь всего 1 строку как показал zss, а дальше пиши по своему смыслу
Yandex
Объявления
02.03.2014, 18:25     Предварительное объявление класса
Ответ Создать тему
Опции темы

Текущее время: 04:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru