Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
6 / 6 / 4
Регистрация: 13.10.2012
Сообщений: 101
1

Взаимный инклуд или как-то так

20.07.2013, 20:21. Просмотров 456. Ответов 5
Метки нет (Все метки)

Есть два класса, которые используют друг друга. Как добиться работы программы? Если включу хедер первого класса в хедер второго и наоборот получу ошибку, если нет -- тоже. Как выйти из ситуации? Оба класса используют друг друга в полном объеме, т.е. выкинуть часть функционала в другой класс не вариант. Заранее благодарен.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.07.2013, 20:21
Ответы с готовыми решениями:

Include не работает так как хочется или как работает инклуд
Доброго времени суток. Имею структуру папок: basic/ libs/ /sumLib.php ...

Область видимости переменных или правильный инклуд файлов
Здравствуйте, у меня есть файлы db.php <?php define("SRV","localhost");...

Как сделать инклуд одной строки
В общем мне нужно сделать чтобы допустим есть файл config в ней допустим такие строки name =...

Как сделать инклуд папки с файлами h?
Все эти файлы находятся в папке QtWebKit: QWebHistory qwebpage.h .. ...

5
55 / 55 / 6
Регистрация: 07.07.2013
Сообщений: 345
20.07.2013, 20:27 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
1.h:
 
#ifndef 1_H
#define 1_H
#include "2.h"
 
class B;
 
class A
{
...
};
 
 
#endif
 
 
 
 
2.h:
 
#ifndef 2_H
#define 2_H
#include "1.h"
 
class A;
 
class B
{
...
};
 
#endif
0
Модератор
Эксперт по электронике
8274 / 6133 / 822
Регистрация: 14.02.2011
Сообщений: 21,327
20.07.2013, 20:29 3
Цитата Сообщение от FanOfGun Посмотреть сообщение
Оба класса используют друг друга в полном объеме, т.е. выкинуть часть функционала в другой класс не вариант. Заранее благодарен.
описать класс

например так никакой ошибки( ну кроме логической) и все откомпилится
C++
1
2
3
4
5
6
7
8
9
10
class Class2;
class Class1
{
Class2 cl2;
}
 
class Class2
{
Class1 cl1;
}
в каждом заголовочном файле опиши класс партнер и все сработает
подключать не надо
0
What a waste!
1576 / 1277 / 171
Регистрация: 21.04.2012
Сообщений: 2,677
20.07.2013, 20:32 4
Цитата Сообщение от ValeryS Посмотреть сообщение
например так никакой ошибки( ну кроме логической) и все откомпилится
Если cl2 будет ссылкой или указателем
0
Модератор
Эксперт по электронике
8274 / 6133 / 822
Регистрация: 14.02.2011
Сообщений: 21,327
20.07.2013, 20:34 5
Цитата Сообщение от gray_fox Посмотреть сообщение
Если cl2 будет ссылкой или указателем
ну тады нормально
а напрямую не сработает, будут друг под друга память выделять
я специально так написал чтобы не в тупую копировали
0
Грамотный. Безпорно.
16840 / 9737 / 1875
Регистрация: 27.09.2012
Сообщений: 24,136
Записей в блоге: 2
20.07.2013, 20:35 6
Два взаимосвязных класса
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.07.2013, 20:35

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Или мне так не повезло с RLC APPA701 или так и есть?
Купил RTS APPA701. Купил в фиме "ПРИСТ" (никому её не посоветую). Прислали по почте и в день...

Взаимный спектральный анализ-как сделать код?
есть 2 ряда: A(x) и B(y) по 1000 значений. Как для них провести взаимный спектральный анализ? (ну...

Как запретить удаленный инклуд и чтение файла с моего сервера?
На моем сайте есть файл конфигурации config.php, содержащий пароли и активизирующий доступ к базе...

Как сделать инклуд файла, который лежит в корне сайта?
Добрый день ! Всех в прошедшими праздниками. Успехов в личной, наличной и безналичной, как...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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