Читаем С++ для "чайников" . полностью

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

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

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

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

        system( "PAUSE" ) ; return 0 ;

    }

_________________

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

Приложение включает заголовочные файлы Student.h и GraduateStudent.h, что даёт ему доступ к обоим рассмотренным классам.

Вы можете возразить, что включение GraduateStudent.h автоматически приводит к включению Student.h, однако не стоит полагаться на это — если вы хотите использовать какой-то класс, лучше включить соответствующий заголовочный файл независимо от других. Использование описанной ранее конструкции с #ifndef позволит избежать повторного включения заголовочного файла.

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

В связи с этим при обращении к классу следует использовать его полное имя, дабы избежать возможных неоднозначностей — т.е. имя, состоящее из имени пространства и имени класса: Schools::Student. Другой способ заключается в указании в начале модуля, какое именно пространство имён подразумевается программистом — так, инструкция

    using Schools::GraduateStudent ;

говорит о том, что далее все упоминания 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 

[Советы]

<p id="chapter22.3.6"><strong><emphasis>Файл проекта...264</emphasis></strong></p>

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

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

_________________

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

<p id="chapter22.3.7"><strong><emphasis>Создание файла проекта в Dev-C++...265</emphasis></strong></p>

Для создания файла проекта 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.срр и щёлкните на кнопке ОК.

Перейти на страницу:

Все книги серии Для чайников

Похожие книги

Разработка приложений в среде Linux. Второе издание
Разработка приложений в среде Linux. Второе издание

Книга известных профессионалов в области разработки коммерческих приложений в Linux представляет СЃРѕР±РѕР№ отличный справочник для широкого круга программистов в Linux, а также тех разработчиков на языке С, которые перешли в среду Linux из РґСЂСѓРіРёС… операционных систем. РџРѕРґСЂРѕР±но рассматриваются концепции, лежащие в основе процесса создания системных приложений, а также разнообразные доступные инструменты и библиотеки. Среди рассматриваемых в книге вопросов можно выделить анализ особенностей применения лицензий GNU, использование СЃРІРѕР±одно распространяемых компиляторов и библиотек, системное программирование для Linux, а также написание и отладка собственных переносимых библиотек. Р

Майкл К. Джонсон , Эрик В. Троан

Программирование, программы, базы данных
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

Данная книга посвящена программированию игр с помощью ActionScript. Здесь вы найдете подробные указания, необходимые для создания самых разных игр – аркад, головоломок, загадок и даже игровых автоматов. В тексте приведены исходные коды программ и детальные, доступно изложенные инструкции. Базовые принципы программирования ActionScript рассматриваются на примере игр, однако вы без труда сможете применить полученные знания и для разработки неигровых проектов, таких как Web-дизайн и реклама. Рекомендации Гэри Розенцвейга помогут вам не только придумывать занимательные игры и размещать их на Web-сайте, но и оптимизировать скорость их работы, а также защищать свои творения от несанкционированного копирования. Представленный в книге код несложно изменить для использования в других программах.Книга предназначена для широкого круга читателей – создателей анимационных роликов, художников-оформителей, программистов и разработчиков Web-сайтов. Издание может также выступать в качестве практического пособия по изучению ActionScript.

Гэри Розенцвейг

Программирование, программы, базы данных / Программирование / Книги по IT
Язык программирования Euphoria. Справочное руководство
Язык программирования Euphoria. Справочное руководство

Euphoria (юфо'ри, также рус. эйфори'я, ра'дость) — язык программирования, созданный Робертом Крейгом (Rapid Deployment Software) в Канаде, Торонто. Название Euphoria — это акроним для «End-User Programming with Hierarchical Objects for Robust Interpreted Applications».Euphoria — интерпретируемый императивный язык высокого уровня общего назначения. C помощью транслятора из исходного кода на Euphoria может быть сгенерирован исходный код на языке Си, который в свою очередь может быть скомпилирован в исполнияемый файл или динамическую библиотеку при помощи таких компиляторов, как GCC, OpenWatcom и др. Программа Euphoria также может быть «связана» с интерпретатором для получения самостоятельного исполняемого файла. Поддерживается несколько GUI-библиотек, включая Win32lib и оберток для wxWidgets, GTK+ и IUP. Euphoria имеет встроенную простую систему баз данных и обертки для работы с другими типам баз данных.[Материал из Википедии]

Коллектив авторов

Программирование, программы, базы данных