|
74 / 37 / 3
Регистрация: 23.09.2012
Сообщений: 408
|
||||||||||||||||||||||||||
Использование .h и .cpp для классов28.10.2012, 00:23. Показов 3382. Ответов 17
Метки нет (Все метки)
CSentence.h
CSentence.cpp
CSense_Sentence.h
CSense_Sentence.cpp
0
|
||||||||||||||||||||||||||
| 28.10.2012, 00:23 | |
|
Ответы с готовыми решениями:
17
Множественное наследование, Перегрузка функций, Перегрузка операторов, Использование дружественных функций и классов, Использование шаблонов классов
Использование функции cpp в проекте c |
|
~ Эврика! ~
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
|
|
| 28.10.2012, 00:28 | |
|
class CSense_Sentence; — это не определение класса, а его объявление. Просто чтобы чёртов однопроходный компилятор не пугался, когда встретит это имя. Это разрешает только упоминать класс, но не использовать его.
Проинклудьте в CSentence.h файл CSense_Sentence.h, который содержит определение класса. И include-guards не забудьте, чтобы не проинлудить его дважды.
0
|
|
|
74 / 37 / 3
Регистрация: 23.09.2012
Сообщений: 408
|
|
| 28.10.2012, 00:30 [ТС] | |
|
~OhMyGodSoLong~, а как правильно сделать без иклюд-гуарда?
Ведь можно же представить код так, что бы каждый файл включался 1 раз, просто потому, что он включается 1 раз?
0
|
|
|
74 / 37 / 3
Регистрация: 23.09.2012
Сообщений: 408
|
|
| 28.10.2012, 00:33 [ТС] | |
|
Croessmah, то есть лучше следовать логике: "защищай и не парься"?
0
|
|
|
~ Эврика! ~
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
|
||
| 28.10.2012, 00:34 | ||
#pragma onceв начале файла. Большинство компиляторов умеют и понимают. Хотя для тех, кто не понимает, после прагмы обычно всё равно на всякий случай ставят инклюд-гард. А, вы про то, чтобы руками следить. Да господи, хотите об этом думать вместо того, чтобы один раз написать три строки и забыть, — пожалуйста. В принципе можно, но это вредит читабельности и нервам.
0
|
||
|
74 / 37 / 3
Регистрация: 23.09.2012
Сообщений: 408
|
|
| 28.10.2012, 00:37 [ТС] | |
|
~OhMyGodSoLong~, прагма - это тот же инклюд-гуард, только пишется по-другому
Я имею ввиду, расположить файлы так, что бы они по-любому включались только 1 раз ну вот пишешь, к примеру есть 3 независимых файла. #include "A.h" #include "B.h" #include "C.h" и А не включится 2 раза, поскольку включение написано только 1 раз.
0
|
|
| 28.10.2012, 00:49 | |
|
Не по теме: Kgfq, а чем вам там include guard'ы не угодили, что вы решили устроить свою маленькую революцию против них? У нас на собеседовании, например, среди прочего смотрят и на наличие include guard в коде соискателя.
0
|
|
| 28.10.2012, 00:51 [ТС] | |
|
Не по теме: I.M., полагаясь на автоматику мы теряем способности. В данном случае к контроллю кода.
0
|
|
| 28.10.2012, 00:54 | |
|
Не по теме: Kgfq, вы просто оперируете маленькими проектами, где вы сам - царь и бог. Представьте, что вы работаете в команде. И проект, соответственно, крупный. Там наличие include guard просто жизненно необходимо
1
|
|
| 28.10.2012, 00:55 | |
|
1
|
|
|
74 / 37 / 3
Регистрация: 23.09.2012
Сообщений: 408
|
|
| 28.10.2012, 02:31 [ТС] | |
|
Не по теме: John Prick, Добавлено через 1 час 34 минуты Получается, что одна и та же переменная определена в A.obj и Main.obj. Линкер выдает ошибку. Как с этим бороться?
0
|
|
|
74 / 37 / 3
Регистрация: 23.09.2012
Сообщений: 408
|
|
| 28.10.2012, 03:07 [ТС] | |
|
Croessmah, тогда придется где-то в левом файле определять эту переменную. Иначе - никак?
0
|
|
|
Неэпический
|
||||||||||||
| 28.10.2012, 03:41 | ||||||||||||
1
|
||||||||||||
| 28.10.2012, 03:41 | |
|
Помогаю со студенческими работами здесь
18
Использование в CPP переменной, описанной в H
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|