|
8 / 8 / 1
Регистрация: 01.11.2010
Сообщений: 157
|
|
Не подключен файл, а работает, как так?07.02.2011, 21:25. Показов 2194. Ответов 28
Метки нет (Все метки)
Всем еще раз привет. Вот Пишу программку в VC++, создал проект. В проекте создал .h файл в котором создал пространство имен Records и в нем объявил класс с прототипами методов, далее создал файл Employee.cpp в котором дал этим прототипам действие, далее создал файл testEmployee.cpp в котором подключил лишь .h файл с объявлением класса и вызвал один из методов выводящих на экран все свойства, но Employee.cpp в котором даю действие прототипам не подключил, скомпилировал и все равно действия были такие, как я их задал в файле Employee.cpp, как они могли задействовать в проекте, если я не подключил файл в котором предусмотрены действие на вызовы разных методов?
0
|
|
| 07.02.2011, 21:25 | |
|
Ответы с готовыми решениями:
28
Есть три файла. файл main.cpp и Source.cpp знают только Header.h, так как он подключен. как же подключается Source.cpp Как сделать так, чтобы планшет был подключен к прокси Как узнать, как подключен компьютер в сеть, через switch который подключен к коммутаторы или напрямую с коммутатором ? |
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 07.02.2011, 21:32 | |
|
Ну вы же в файле Employee.cpp подключили Records.h? Если да, то всё так и должно быть, в данном случае хидер и является связующим звеном между библиотекой и пользовательским кодом.
1
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 07.02.2011, 21:32 | |
|
BTR, В h подключено. Причем в h прототипы методов. Следовательно все будет работать нормально
1
|
|
|
8 / 8 / 1
Регистрация: 01.11.2010
Сообщений: 157
|
|||||||||||
| 07.02.2011, 21:37 [ТС] | |||||||||||
|
в файле Employee.cpp вот что подключаю
0
|
|||||||||||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 07.02.2011, 21:42 | |
|
У вас в файле Employee.h объявлены все интерфейсы работы. В Employee.cpp подключен Employee.h, т.е. .cpp тоже знает об интерфейсах. Потом линкёр склеит из всех этих файлов один, поэтому содержимое всех файлов окажется в одном месте. Поэтому явно не надо все файлы присоединять ко всем. Подключение .h файла нужно только, чтобы компилятор догадался при встрече ещё не откомпилированной функции, что она описана где-то ещё, и смог бы проверить типы параметров и возвращаемого значения без необходимости сразу лезть в другой файл и смотреть реализацию.
2
|
|
|
8 / 8 / 1
Регистрация: 01.11.2010
Сообщений: 157
|
||||||||||||||||
| 07.02.2011, 21:42 [ТС] | ||||||||||||||||
|
может вам показать весь код? Вот Employee.h - тут только прототипы
0
|
||||||||||||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 07.02.2011, 21:43 | |
|
BTR, Все верно. В файле testEmployee подключен Employee.h.
Используются функции из файла Employee.cpp, в котором подключен Employee.h, в котором описаны прототипы. По однозначному соответствию определяются функции из Employee.cpp соответственно прототипам из Employee.h. Для проверки сей версии, а точнее доказательства оной, разместите в Employee.cpp какую бы то ни было функцию без объявления ее в header файле. И попробуйте вызвать из testEmployee.
1
|
|
|
8 / 8 / 1
Регистрация: 01.11.2010
Сообщений: 157
|
|
| 07.02.2011, 21:47 [ТС] | |
|
то есть компоновщик все сделает? Если да, то объясните пожалуйста мне принцип его работы. А то не совсем понимаю... Спасибо...
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 07.02.2011, 21:54 | |
|
BTR, линкёр объединяет разрозненные откомпилированные куски кода, расположенные в объектных файлах. Т.е. устанавливает окончательное соответствие между всем и вся и формирует окончательный исполняемый файл.
Добавлено через 41 секунду Не по теме: ForEveR, ну вот((( А я, понимаешь ли, писал, распинался, книжку тут переписывал))) А вы вот так раз - и ссыль)))
2
|
|
|
8 / 8 / 1
Регистрация: 01.11.2010
Сообщений: 157
|
|
| 07.02.2011, 22:01 [ТС] | |
|
и еще вопрос, допустим есть класс Test, далее объявлен класс Three не наследующий класс Test. так вот, что означает такое объявление метода в классе Three
Test& ttt(int n, int f); Не пойму?
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 07.02.2011, 22:04 | |
|
Будет возвращена ссылка на объект типа Test. Функция принимает два целых параметра.
1
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 07.02.2011, 22:07 | |
|
BTR, А еще прибавлю к словам комрада, что за такое название функций следует убивать и отрывать руки. Если это не пример из книги, описывающий технические подробности, а не суть.
0
|
|
|
8 / 8 / 1
Регистрация: 01.11.2010
Сообщений: 157
|
|
| 07.02.2011, 22:07 [ТС] | |
|
а можно чуть-чуть по подробней про
Будет возвращена ссылка на объект типа Test. Может пример?
0
|
|
| 07.02.2011, 22:08 | |
|
Не по теме: ForEveR, ха, а я даже название не заметил... Видать, не выйдет из меня компилятора, тот на имена параметров не смотрит в прототипе, а я, наоборот, на имя функции :D
0
|
|
|
8 / 8 / 1
Регистрация: 01.11.2010
Сообщений: 157
|
|
| 07.02.2011, 22:08 [ТС] | |
|
ForEveR, да это я сам так написал, просто хочу понять суть строки
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
||||||
| 07.02.2011, 22:12 | ||||||
|
BTR, пример использования ссылок:
Как видно, используется стандартный синтаксис вызова функции swap (т.е. без передачи функции указателей на a и b), однако фактические значения всё равно меняются. Ссылку, таким образом, можно интерпретировать как константный разыменованный указатель.
1
|
||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 07.02.2011, 22:12 | ||||||
|
BTR, Ф-я возвращает ссылку, т.е. мы можем изменять то, что вернет функция
1
|
||||||
|
8 / 8 / 1
Регистрация: 01.11.2010
Сообщений: 157
|
|
| 07.02.2011, 22:16 [ТС] | |
|
То есть возвращаемое значение можно менять на прямую, а не его копию? Правильно понял?
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 07.02.2011, 22:16 | ||||||
|
BTR, В моем случае да.
Но так лучше не писать. Я думаю более удачным примером будет нечто вроде...
1
|
||||||
| 07.02.2011, 22:16 | |
|
Помогаю со студенческими работами здесь
20
Файл открывается, но не запускается и не работает так, как нужно Создать типизированный файл. Подскажите что не так, все работает, но в файл записываются всякие иероглифы? Сетевой кабель не подключен, и так с 3 картами
Как проверить подключен ли javascript или у меня другая ошибка,у меня на сайте этот код не работает Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|