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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
klik07
3 / 3 / 0
Регистрация: 17.11.2013
Сообщений: 33
#1

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

02.03.2014, 17:52. Просмотров 414. Ответов 3
Метки нет (Все метки)

Имеется код такого вида:
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 файлы, но как с ними работать не разобрался. Объясните на пальцах, как исправить проблему)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2014, 17:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Предварительное объявление класса (C++):

Предварительное объявление для класса, помещенного в простанство - C++
Пытаюсь сделать forward declaration для библиотечного класса ostream помещенного в namespace std. Код ниже не катит. Как делается...

Предварительное объявление классов. Вызвать функцию до реализации класса - C++
Приветствую, народ. Пытаюсь реализовать структуру типа патерна "Посредник". И при реализации взаимодействий возникла проблемка. ...

Два класса в одном заголовочном файле, предварительное объявление - C++
Дико туплю, никак не могу понять, где косячу. Ситуация - есть два описания классов в одном заголовочном файле (все делается с...

Предварительное объявление - C++
Добрый вечер, Есть файл file.h и file.cpp, в file.cpp я делаю подключение #include <boost/signal.hpp>, не подключаю в хэдер file.h...

Объявление объекта класса fstream в качестве статической компоненты другого класса - C++
Доброго времени суток. Есть задание, в котором говорится "...Перепишите программы из упражнений 4 и 6 таким образом, чтобы использовать...

Создать объявление класса и разработать программу-драйвер, которая продемонстрирует работу класса. - C++
Класс Triangle (треугольник). Класс хранит Декартовы координаты трех углов треугольника. Конструктор принимает три группы координат. Должны...

3
zss
Модератор
Эксперт С++
6404 / 5970 / 1945
Регистрация: 18.12.2011
Сообщений: 15,395
Завершенные тесты: 1
02.03.2014, 17:55 #2
C++
1
2
3
class B;
class A: public IBase {
...
0
klik07
3 / 3 / 0
Регистрация: 17.11.2013
Сообщений: 33
02.03.2014, 17:58  [ТС] #3
так дело в том, что
C++
1
2
3
4
class B: public A {
..
..
}
по смыслу по-другому уже никак не сделать
0
retmas
Жарю без масла
859 / 741 / 164
Регистрация: 13.01.2012
Сообщений: 1,694
02.03.2014, 18:25 #4
добавь всего 1 строку как показал zss, а дальше пиши по своему смыслу
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.03.2014, 18:25
Привет! Вот еще темы с ответами:

Объявление объекта одного класса в описании другого класса - C++
Здравствуйте. Почему при объявлении Student s в классе Teacher не возникает ошибки? Ведь такой объект уже существует. И почему при...

Объявление дружественного класса внутри класса - C++
class A{ friend class B{ B(A &a); } } Подскажите пожалуйста, такое возможно или нет, я хотел чтобы...

Объявление класса с шаблоном - C++
Пишу в Qt. Создал класс с шаблоном matrix.h #ifndef MATRIX_H #define MATRIX_H template <class T> class Matrix {

Объявление шаблонного класса - C++
Как объявить шаблонный класс?


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
02.03.2014, 18:25
Ответ Создать тему
Опции темы

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