С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
0 / 0 / 1
Регистрация: 25.11.2007
Сообщений: 66

Межмодульные связи

21.12.2006, 20:52. Показов 3306. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt <FONT color=#000000><B style="mso-bidi-font-weight: normal <SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' Проблема:<SPAN style="mso-spacerun: yes </SPAN>есть 2 модуля (модуля классов) ,связанные </SPAN></B><B style="mso-bidi-font-weight: normal <SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' mso-ansi-language: EN-US include</SPAN></B><B style="mso-bidi-font-weight: normal <SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' (может быть перекрёстным </SPAN></B><B style="mso-bidi-font-weight: normal <SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' mso-ansi-language: EN-US include</SPAN></B><B style="mso-bidi-font-weight: normal <SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' ) . Есть функция модуля 2 вызываемая из модуля 1, меняющая переменную модуля 2<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o></o></SPAN></B></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt <FONT color=#000000><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' Есть 2 модульное (консольное ) приложение из 2 модулей </SPAN><SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' mso-ansi-language: EN-US unit</SPAN><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' 1 и </SPAN><SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' mso-ansi-language: EN-US unit</SPAN><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' 2<o></o></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt <FONT color=#000000><B style="mso-bidi-font-weight: normal <SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' mso-ansi-language: EN-US Unit</SPAN></B><B style="mso-bidi-font-weight: normal <SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' 1.</SPAN></B><B style="mso-bidi-font-weight: normal <SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' mso-ansi-language: EN-US cpp</SPAN></B><B style="mso-bidi-font-weight: normal <SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' <o></o></SPAN></B></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt <B style="mso-bidi-font-weight: normal <SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' <FONT color=#000000>-------------------------------<o></o></SPAN></B></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt <FONT color=#000000><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' #</SPAN><SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' mso-ansi-language: EN-US include</SPAN><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' "</SPAN><SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' mso-ansi-language: EN-US unit</SPAN><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' 2.</SPAN><SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' mso-ansi-language: EN-US h</SPAN><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' "<o></o></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt <SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' mso-ansi-language: EN-US <FONT color=#000000>#include <stdio.h><o></o></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt <SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' mso-ansi-language: EN-US <FONT color=#000000>#include <conio.h><o></o></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt <SPAN lang=EN-US style="FONT-SIZE: 11pt; F IN: 0cm 0cm 0pt <SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' mso-ansi-language: EN-US <FONT color=#000000>void test()<o></o></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt <SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' mso-ansi-language: EN-US <FONT color=#000000>{<o></o></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt <SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' mso-ansi-language: EN-US <FONT color=#000000><SPAN style="mso-spacerun: yes </SPAN>i=1;<o></o></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt <SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' mso-ansi-language: EN-US <FONT color=#000000>}<o></o></SPAN></P><DIV style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 1pt; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; mso-element: para-border-div; mso-border-bottom-alt: solid windowtext .75pt <P class=MsoNormal style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; mso-border-bottom-alt: solid windowtext .75pt; mso-padding-alt: 0cm 0cm 1.0pt 0cm <FONT color=#000000><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' Проблема в том, что хотя переменная </SPAN><SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' mso-ansi-language: EN-US I</SPAN><SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' </SPAN><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' « видна» в </SPAN><SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' mso-ansi-language: EN-US unit</SPAN><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' 1 (т.е компилятор не придирается к отсутствию её определения в </SPAN><SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' mso-ansi-language: EN-US unit</SPAN><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' 1) но после вызова функции </SPAN><SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' mso-ansi-language: EN-US test</SPAN><SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' </SPAN><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' получается </SPAN><SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' mso-ansi-language: EN-US i</SPAN><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' =0 вместо ожидаемого </SPAN><SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' mso-ansi-language: EN-US i</SPAN><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' =1<o></o></SPAN></P></DIV><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt <SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' <FONT color=#000000>1 из решений состоит в замене такого определения переменной в хэдер-файле<o></o></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt <FONT color=#000000><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' И объяалении её в 1 из модулей, а в другом её же с директивой </SPAN><SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' mso-ansi-language: EN-US external</SPAN><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' .<o></o></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt <FONT color=#000000><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' Но, согласитесь, работать с </SPAN><SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Microsoft Sans Serif' mso-ansi-language: EN-US exte
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.12.2006, 20:52
Ответы с готовыми решениями:

Разработка программы оценки качества канала связи системы связи оптической
Доброго времени суток. Кто может подсказать, встречали ли вы программы, которые оценивают качество канала связи? Именно оптической. Это...

Внутреняя ошибка связи или нет связи с удалённым сервером
Данные сообщения выходят при загрузке сайтов и поэтому не могу загрузить ни одну страницу.Подскажите что нужно делать чтоб избавиться от...

Адаптер широкополосной мобильной связи Сеть мобильной связи
Всем привет! Помогите пожалуйста - уже всю голову сломал. Нашел у себя МТСовский Huawei E3131s, разлочил кодом и вышел в интернет через МТС...

2
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
21.12.2006, 21:12
Правильно будет указать extern int i; в unit2.h и int i; в unit2.cpp.
Если тебя смущает использование external в объектно-ориентированном языке, то следует все писать с использованием классов. Иначе странно получается. Функции вне классов (не-ООП подход) тебя устраивает, а extern нет. Не вижу в этом логики. Одно из достоинств C++ состоит как раз в возможности использования и ООП и "старого" процедурного подхода.
0
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
22.12.2006, 21:31
bazile все сказал, если мыслить понятиями ООП, то надо пользоваться классами, тогда любого рода глобальные переменные должны быть представлены атрибутами класса, а класс по необходимости можно оформить в виде синглетона (Singleton pattern)



Удачи,

Владимир
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.12.2006, 21:31
Помогаю со студенческими работами здесь

Связи в БД
Есть следующие таблицы: 1) Таблица продажи билетов: -id_ticket -ФИО -Тип билета -Место отправления -Пункт назначения -Дата...

Связи
Есть две таблицы 1. Заказы ID Сотрудник Номер заказа 2. Сотрудники ID ФИО

Связи в БД
Даже не знаю в тот ли раздел пишу Проблема такая-не могу выполнить сохранение в базу данных из-за неумения создавать связи в бд Вот...

БД связи
Создаю впервые бд, подскажите пожалуйста как реализовать такую штуку, чтобы в сущности &quot;запись на приём&quot; время можно было...

Связи в БД
Доброго времени суток! Мне необходима помощь с определением типа связи. Имеется некая таблица User(данные о пользователе) и таблица...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru