Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Лафоре Р. -> "Объектно-ориентированное программирование в С++" -> 240

Объектно-ориентированное программирование в С++ - Лафоре Р.

Лафоре Р. Объектно-ориентированное программирование в С++ — М.: Питер, 2004. — 992 c.
Скачать (прямая ссылка): obektnoorentprogramm2004.djvu
Предыдущая << 1 .. 234 235 236 237 238 239 < 240 > 241 242 243 244 245 246 .. 341 >> Следующая


Компиляторы С++ позволяют соединять разнообразные исходные и объектные файлы в единую исполняемую программу. Благодаря этому можно воспользоваться библиотеками функций даже разных производителей, чтобы с использованием их классов создать в итоге хорошее приложение. Файл проек- 636

Глава 13. Многофайловые программы

та позволяет запоминать, что и когда было откомпилировано, чтобы не проделывать эту процедуру заново для всех без исключения файлов, входящих в проект. Можно компилировать только те исходные файлы, которые изменялись со времени последней сборки.

Межфайловая коммуникация подразумевает, что переменные, функции и объекты определены в одном файле, а объявлены в другом — в том, где они реально используются. Определение класса должно быть помещено во все файлы, которые обращаются к нему. Нужно внимательно следить за тем, чтобы не возникало повторных определений как в исходных, так и в заголовочных файлах.

Вопросы

Ответы на эти вопросы можно найти в приложении Ж.

1. Разбивать программу на несколько файлов желательно, потому что:

а) некоторые файлы не нуждаются в перекомпиляции при каждой сборке;

б) программа может быть разделена на функциональные элементы;

в) файлы можно представлять на рынке в объектном виде;

г) разные программисты могут работать над разными файлами.

2. Заголовочный файл связывается с исходным с помощью_.

3. Объектный файл присоединяется к исходному с помощью_.

4. В файл проекта включаются:

а) данные о содержимом файлов, входящих в проект;

б) даты последних изменений файлов, входящих в проект;

в) команды компиляции и компоновки;

г) определения переменных С++.

5. Группу связанных между собой классов, поставляющуюся в виде отдельного программного продукта, часто называют_.

6. Истинно ли утверждение о том, что заголовочный файл может нуждаться в доступе со стороны нескольких исходных файлов в проекте?

7. Так называемые скрытые файлы библиотеки классов:

а) требуют пароль;

б) могут быть сделаны доступными с помощью дружественных функций;

в) помогают защитить код от пиратов;

г) могут состоять только из объектного кода.

8. Истинно ли утверждение о том, что библиотеки классов — это более мощный инструмент, чем библиотеки функций?

9. Истинно ли утверждение о том, что интерфейс является скрытой частью библиотеки, а реализация — общедоступной? Вопросы 6??

10. Общедоступная часть библиотеки классов обычно содержит:

а) объявления методов;

б) определения методов;

в) объявления классов;

г) определения небольших функций.

11. Два или более исходных файла могут быть соединены путем их_.

12. Истинно ли утверждение о том, что переменная, определенная внутри функции, видна на протяжении всего исходного текста того файла, в котором она определена?

13. Глобальная переменная определена в файле А. Чтобы получить доступ к ней из файла В, необходимо:

а) определить ее в файле В, используя extern;

б) определить ее в файле В, используя static;

в) расслабиться (ничего не надо делать);

г) объявить ее в файле В, используя extern.

14. Часть программы, в которой к данной переменной имеют доступ переменные из других частей программы, называется_.

15. Файлы, которые реально соединяются компоновщиком, называются_

16. Функция определена в файле А. Для того чтобы можно было вызывать ее из файла В, функция должна быть_в_.

17. Истинно ли утверждение о том, что объявление функции не требует использования extern?

18. Чтобы определять объекты класса в разных файлах, в каждом из них необходимо:

а) объявлять класс;

б) определять класс;

в) объявлять класс с использованием extern;

г) определять класс с использованием extern.

19. Истинно ли утверждение о том, что переменная, определенная в заголовочном файле, может быть доступна из двух исходных файлов, если в каждый из них включен этот заголовочный файл?

20. Конструкция #if !defined().. Jendif может использоваться для предотвращения повторных определений, когда:

а) два заголовочных файла включены в исходный файл;

б) заголовочный файл включен в два исходных;

в) два заголовочных файла включены в два исходных;

г) один заголовочный файл включен в другой, и оба они включены в исходный. 638 Глава 13. Многофайловые программы

21. Пространства имен используются для:

а) автоматизации именования переменных;

б) сужения области видимости элементов программы;

в) разделения программы на отдельные файлы;

г) предотвращения использования длинных имен переменных.

22. Для определения пространства имен используется формат, сходный с определением класса, но вместо зарезервированного слова class используется _.

23. Использование typedef позволяет:

а) сокращать длинные имена переменных;

б) менять имена типов;

в) сокращать длинные названия функций;

г) менять названия классов.

Проекты

К сожалению, объем книги не позволяет описать упражнения такого типа и масштаба, как примеры, приведенные в этой главе. И все же предлагаем несколько идей различных проектов, которые вы можете развить самостоятельно.
Предыдущая << 1 .. 234 235 236 237 238 239 < 240 > 241 242 243 244 245 246 .. 341 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100