Программирование >>  Аргументация конструирования 

1 ... 31 32 33 [ 34 ] 35 36 37 ... 108


Создание inModule. срр

Поскольку sumSequence () теперь находится в отдельном модуле, в MainMod-ule . срр схлается только функция ma in () :

odule- демонстрирует, как можно разбить программу на несколько модулей,

упростив написание и проверку;

этот модуль содержит функцию main{)

#include <3tdio.h> linclude <iostream.h>

in e (ostreams. out eami in) ;

in .t nArg, char* pszArgs[]) {

cout << Эта программа суммируем мтельности \п

< вдсел. Ввод последовательности можно прекратить,\п

введя отрицательное чкслоЛп

<< Остановить программу можно,\п

<< введя дв тельных числа подряд\п ;

накопление последовательности чисел... int nAccumulatedValue;

do {

сложить числа, введенные с клавиатуры

cout \пВведите следуюцую последовательность\п ; nAccumulatedValue = sumSequence (cout, cin) ;

ести полученный результат cout ЧпСумма равна

<<

<<

сумма не равна О

} while (nAccumulatedValue !- 0);

cout Программа завершена\п ; return 0;

В этом варианте программы отсутствует функция sumSequence (), но добавлена строка объявления прототипа:

in Me(ostream.i out breams in);

Использование прототипов функций пояснялось в главе 6, Создание функций .

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

Создание файла проекта

Теперь можете открыть исходные файлы SeparateModule. срр и MainModule. срр в редакторе rhide. После этого выберите команду мен =:>Маке или нажмите <F9>. Редактор rhide скомпилирует оба файла и объединит их в программу с именем aout. ехе (к счастью, ее всегда можно переименовать).



Создание файла проекта в GNU C++

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

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

имена всех модулей, которые нужно скомпилировать и скомпоновать. Для этого выполните ряд действий.

1. Закройте все открытые файлы и выберите t=i>Open Project.

2. Введите имя проекта, например Separate (это имя не имеет особого значения - используйте любое понравившееся вам слово). В нижней части экрана появится окно проекта с одним элементом <empty>.

3. Выберите jectAdd Item. Появится окно, показывающее содержимое текущего каталога.

4. Выберите файл

5. Щелкните на кнопке Cancel, чтобы закрыть текущее окно. Проект Separate создан.

6. Для компиляции выберите из меню

Еще одно достоинство файла проекта в том, что он позволяет сохранять

в нем дополнительную информацию о программе, хотя и не такую богатую, как в случае использования Visual C + + .

Создание файла проекта в Visual C++

Если при работе с этой книгой вы используете Visual C + + , выполните следующее.

1. Выберите Close Workspace, чтобы закрыть все открытые файлы проектов.

2. Откройте исходный файл MainModule.cpp и щелкните на кнопке Compile (заметьте - не на кнопке Make).

Если вы щелкнете на кнопке Make, ничего страшного не произойдет, просто на этапе связывания возникнет ошибка.

3. Visual C + + запросит подтвердить создание файла проекта. Подтверждение необходимо, поскольку Visual С + + не может работать с отдельным

который не входит ни в один проект.

Теперь у нас есть проект, содержащий один файл - MainModule.cpp.

4. Если рабочее пространство пока не открыто, откройте его, выбрав из меню View = Workspace.

При этом должно появиться окно, содержащее две вкладки: окно просмотра классов (Class View) и окно просмотра файла (File View). Эти окна представляют два пути просмотра проекта. В окне просмотра файла показано содержимое .

5. Перейдите в окно просмотра файла в проекта, воспользовавшись соответствующей вкладкой.

6. Щелкните правой кнопкой мыши на файлам odule, при этом появится выпадающий список файлов, составляющих проект MainModule. Сейчас в проект входит только один файл -MainModule.срр.



7. Выберите пункт меню Add Files, после чего появится окно открытия файлов, которое имеет такой же вид, как, например, в Microsoft Word.

8. Выберите файл SeparateModule.срр для добавления его в проект. Теперь в списке файлов проекта должны находиться два файла - MainMcd-

9. Щелкните на кнопке Build для сборки выполнимого файла проекта.

исполъзованиеишаш£н #include

Для ТСГО чтобы В функции main() можно было использовать функцию subsequence (;. необходимо включить ее нрототин в начале программы. К сожалению, при вводе имени прототипа возможна опечатка или какая-либо другая ошибка. А если эта функция используется в нескольких модулях, программист должен объявить прототип в каждом из них, поэтому вероятность опечатки возрастает.

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

1. Создайте файл с именем содержащий объявление

прототипа sumSequence {). Расширение . h обозначает, что этот файл

подключаемый:

SeparateModule.h - включает объявление прототипа функции из модуля SeparateModule.срр

int sumSequence (ostreamiout, istreami it) ;

2. Отредактируйте фай odule. cpp, вставив директиву включения

файла SeparateModule . h вместо объявления прототипа.

odule- демонстрирует, как можно разбить программу на несколько модулей,

упростив написание и проверку;

этот модуль содержит фнию main ()

linclude <stdio,h> #include <iostream.h>

объявление подключения внешних прототипов tinclude SeparateModule.h

in ifint nArg, char* pszArgs [])

Директива ttinclude дает понять компилятору, что вместо нее здесь следует разместить содержимое файла Таким образом, после подключения этого файла программа приобретет такой же вид, как и раньше.

Директива include должна начинаться с первого символа строки.




1 ... 31 32 33 [ 34 ] 35 36 37 ... 108

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика