Выбрать главу

говорит о том, что далее все упоминания GraduateStudent относятся к пространству имён Schools.

Программист может получить такой же доступ ко всем членам пространства имён сразу, воспользовавшись командой

    using namespace Schools ;

Вот версия функции main( ), которая использует эту команду и работает аналогично предыдущей функции main( ).

    using namespace Schools ;

    int main( int nArgc , char* pszArgs[ ] )

    {

        Schools::Student s( "Sophie Moore" , 1234 ) ;

        cout << "Student = " << s.display( ) << endl ;

        GraduateStudent gs( "Greg U. Waite" , 5678 ) ;

        cout << "Student = " << gs.display( ) << endl ;

        /* Пауза для того, чтобы посмотреть на результат работы программы */

        system( "PAUSE" ) ; return 0 ;

    }

«Использование в данной книге инструкции using namespace std ; связано с тем, что модули, составляющие стандартную библиотеку С++, входят в пространство имён std 

[Советы]

Файл проекта...264

Полный ожиданий, я открываю файл SeparatedMain.срр в компиляторе и запускаю сборку приложения. Модуль компилируется без ошибок, но компоновка не выполняется. С++ не знает, что за класс Student. Итак, нам надо каким-то образом сообщить компилятору, что кроме SeparatedMain.срр ему нужно использовать файлы GraduateStudent.срр и Student.срр. В большинстве сред С++, включая Dev-C++ и Visual С++ .NET, это делается при помощи файла проекта.

Dev-C++ и Visual С++ .NET имеют собственные форматы файла проекта. Здесь мы рассмотрим, как работать с файлом проекта в Dev-C++. 

_________________

264 стр. Часть 4. Наследование

Создание файла проекта в Dev-C++...265

Для создания файла проекта Dev-C++ выполните следующие действия.

        1. Выберите команду меню Файл => Создать => Проект ( File => New => Project ). Выберите в диалоговом окне Console Application и введите имя SeparateModules ( рис. 22.6 ).

Рис. 22.6. Выбор типа нового проекта

2. Щёлкните на кнопке ОК.

Dev-C++ откроет окно сохранения файла.

3. Выберите каталог, в котором должен быть сохранён проект.

4. Удалите main.срр из проекта, поскольку у вас уже есть модуль main( ).

5. Выберите команду меню Проект => Удалить из проекта ( Project => Remove From Project ).

6. Выберите main.срр и щёлкните на кнопке ОК.

7. Скопируйте файлы SeparatedMain.cpp, GraduateStudent.срр, Student.срр, Student.h и GraduateStudent.h в рабочую папку ( если они ещё не находятся там ).

8. Выберите команду меню Проект => Добавить к проекту ( Project => Add to Project ).

_________________

265 стр. Глава 22. Разложение классов

9. Выберите все исходные модули и щёлкните на кнопке ОК.

10. Выберите команду меню Выполнить => Перестроить всё ( Execute => Rebuild All ) для компиляции модулей проекта и создания выполнимой программы.

11. Щёлкните на вкладке Классы ( Classes ) в левом окне, чтобы увидеть описания всех классов программы ( рис. 22.7 ).

«Убедитесь, что просмотр классов корректно настроен.»

[Советы]

Рис. 22.7. Описание классов программы

12. Выберите команду меню Сервис => Параметры редактора ( Tools => Editor options ) и щёлкните на вкладке Обзор классов ( Class browsing ).

13. Включите опцию Включить обзор классов ( Enable class browser ) и другие опции, показанные на рис. 22.8.

Обратите внимание, как выводится информация о классах — при включённой опции вывода наследованных членов у класса GraduateStudent показаны две функции display( )

_________________

266 стр. Часть 4. Наследование

Рис. 22.8. Типы информации о классах, доступные для отображения