16 / 0 / 2
Регистрация: 10.11.2012
Сообщений: 117
1

Цикличный include

30.03.2018, 18:51. Показов 1102. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Есть вот такая вот реализация.
Помогите пожалуйста правильно расстваить extern чтобы не было цикличного включения.

Ну или если все совсем плохо, то как лучше переписать структуру?

Заранее большое спасибо!

C++
1
2
3
4
5
6
// c.h
#include "a.h"
 
class C{
  // функции из a.h + использование объекта main_D;
};
C++
1
2
3
4
5
6
7
8
// d.h
#include "a.h"
#include "c.h"
 
class d{
  C c;
// define'ы из a.h
};
C++
1
2
3
4
5
6
7
// a.h
#include "d.h"
 
// функции и define'ы a.h
 
// глобальный объект типа D
D main_D;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.03.2018, 18:51
Ответы с готовыми решениями:

Работа с файлами в C# с исп. библиотек #include <stdio.h> #include <stdlib.h> #include <math.h> #include <io.h>
В типизированном файле записаны названия городов и их численность. Увеличить численность каждого...

#include<iostream>// подключение библиотек #include <conio.h> #include <climits>
помогите для этой программы сделать блок-схему. Пожалуйста #include&lt;iostream&gt;// подключение...

Чем отличается #include <cstring>, #include <string> и #include <string.h>?
Доброго времени суток :) Пишу свой класс и мне для нужны функции для работы со строками. Когда...

Не находит #include<iomanip.h> #include<conio.h>
Само задание: Услуги телефонной сети оплачиваются по следующему правилу: за разговоры до A минут в...

5
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
30.03.2018, 19:14 2
Причем здесь extern? Вам нужны include guards.
0
16 / 0 / 2
Регистрация: 10.11.2012
Сообщений: 117
30.03.2018, 19:17  [ТС] 3
Я предполагаю, что #ifndef
#define
Написаны в каждом хидере
0
1467 / 1008 / 456
Регистрация: 30.10.2017
Сообщений: 2,798
30.03.2018, 19:20 4
Цитата Сообщение от krazyd Посмотреть сообщение
Написаны в каждом хидере
Так покажите их.
0
16 / 0 / 2
Регистрация: 10.11.2012
Сообщений: 117
30.03.2018, 19:27  [ТС] 5
Да, прошу прощения, совсем забыл их указать.
0
Модератор
Эксперт С++
13502 / 10754 / 6409
Регистрация: 18.12.2011
Сообщений: 28,699
30.03.2018, 19:45 6
Цитата Сообщение от krazyd Посмотреть сообщение
C++
1
2
// a.h 
#include "d.h"
Это должен быть a.cpp.
Его добавить к проекту и компилировать самостоятельно.
А в файлах, где нужен main_D Надо добавить
C++
1
extern D main_D;
0
30.03.2018, 19:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.03.2018, 19:45
Помогаю со студенческими работами здесь

матрица,цикличный здвиг
Дана матрица m,n. По жыланию пользавателя осушествить циклычний здвиг елементов строки або столбца...

Как сделать цикличный сдвиг?
Подскажите как сделать цикличный сдвиг. 1) влево 2) вправо. #include&lt;iostream&gt;...

Цикличный сдвиг элементов последовательности на 1 позицию
Дано натуральное число n (n&lt;100), целое число k (k=\pm 1) и последовательность целых чисел а1, а2,...

Какая разница между #include<> и #include""?
Позволите спросить несколько вопросов: 1)Какая разница между #include&lt;&gt; и #include&quot;&quot; 2)Если нужно...

Какая разница между #include<> и #include""
Всем привет, в очередной раз при использование include появился вопрос: В чём разница :...

Реализовать цикличный вывод строки (10, 100, 1000 циклов) в нескольких потоках (2, 4, 8, 16)
Необходимо реализовать вывод строки в нескольких потоках (2, 4, 8, 16 потоков) с помощью функций...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru