Форум программистов, компьютерный форум CyberForum.ru

Несколько неясностей в C++ - C++

Восстановить пароль Регистрация
 
hVoltage
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 28
06.07.2013, 22:21     Несколько неясностей в C++ #1
Здравствуйте, в процессе изучения C++ возникли вопросы.
1. Объявления и определения функции. С терминологией и сутью проблем не было. Но никак не пойму, когда используется объявление? Когда сама функция находится в одном файле, а использовать ее нужно в другом?
2. Inline функции. В книге ("C++ Вводный курс" Липпман) сказано "В отличие от других функций, определения встраиваемых функций должны находиться в файлах заголовках". Не нравится именно слово "должны". Неточность перевода или на самом деле так? Может быть все таки подразумевалось "рекомендуется". И кстати, если это так, то почему это так?)
3. Вот, допустим, есть у меня класс, хранящийся в файле (например, "abc.h"). В нем объявлена функция-член. Определена же эта функция в другом файле(например, "abc.cpp"). Если в файл программы нужно подключить этот класс, то как я понял нужно еще и подключать файл, в котором определена эта функция. Подключать файл с функцией(не классом) тоже директивой include?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2013, 22:21     Несколько неясностей в C++
Посмотрите здесь:

Несколько вопросов C++
C++ Несколько вопросов
Несколько вопросов C++
C++ while несколько условий
Несколько new [] подряд C++
C++ Тетрис разбор неясностей
C++ Парочка примитивных неясностей о массивах и C-strings
C++ Несколько сортировок

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11817 / 6796 / 769
Регистрация: 27.09.2012
Сообщений: 16,867
Записей в блоге: 2
Завершенные тесты: 1
06.07.2013, 22:30     Несколько неясностей в C++ #2
1) Функция должна быть объявлена перед перед ее использованием, чтобы компилятор мог проверить соответствие вызова объявлению
определение же может находиться хоть в этом же модуле, хоть в другом.
2) Для того, чтобы функцию можно было встроить необходим ее исходный код, соотвественно, если код скомпилирован в другом модуле, то объявления функции будет не достаточно для встраивания.
3) Подключайте include'ом заголовок, в котором объявлена функция, а модуль с определением указывайте при компиляции или просто добавьте его в проект, если используете IDE. Далее это работа линкера
hVoltage
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 28
06.07.2013, 22:33  [ТС]     Несколько неясностей в C++ #3
Спасибо, все так, как и думал
Yandex
Объявления
06.07.2013, 22:33     Несколько неясностей в C++
Ответ Создать тему
Опции темы

Текущее время: 02:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru