Глава 4. Итоговый тест  

   ⁄ 

 Обновлено 26 мая 2017

  ⁄   

В этой главе мы рассмотрели много материала. Если вы дошли до этого момента, то я вас поздравляю – вы проделали немало работы и это уже хороший шаг на пути к изучению C++ и программирования! Сейчас же давайте закрепим пройденный материал.

Теория

Блок стейтментов (или составной оператор) обрабатывается компилятором так, как если бы это один стейтмент. Составные операторы помещаются между фигурными скобками ({ и }) и используются почти везде.

Локальные переменные создаются в точке определения и уничтожаются при выходе из блока, в котором они объявлены. Доступ к ним возможен только внутри этого же блока.

Глобальные переменные создаются, когда программа запускается, и уничтожаются, когда она завершает свое выполнение. Они могут использоваться в любом месте программы. Неконстантные глобальные переменные следует избегать, потому что это зло.

Ключевое слово static может использоваться для преобразования глобальной переменной во внутреннюю (с внутренней связью), чтобы ее можно было использовать только в файле, в котором она объявлена. Также ключевое слово static используют, чтобы указать, что локальная переменная должна иметь статическую продолжительность. А это означает, что она будет сохранять свое значение даже после выхода из своей области видимости.

Пространство имен — это область, в которой гарантируется уникальность всех имен. Отличный способ избежать конфликтов имен. Не используйте «using statements» вне функций.

Неявное преобразование типов данных происходит, когда один тип конвертируется в другой без использования оператора cast. Явное преобразование типа происходит, когда один тип преобразуется в другой с помощью оператора cast. В некоторых случаях это абсолютно безопасно, в некоторых — данные могут быть потеряны. Избегайте использования C-style cast, вместо него используйте static_cast.

std::string – это простой способ работы с текстовыми строками. Текст всегда размещается между двойными кавычками.

Перечисления позволяют создавать собственные типы данных, в котором перечислены все возможные значения. Это отличный вариант для создания категорий или рубрик. Классы enum – это те же перечисления, но надежнее и безопаснее. Используйте их вместо обычных перечислений, если ваш компилятор совместим с C++ 11.

Typedef позволяет создавать псевдонимы для типов данных. Целочисленные типы данных с фиксированным размером реализованы именно через typedef. Псевдонимы типов полезны для присваивания простых имен сложным типам данных.

И, наконец, структуры данных. Они позволяют сгруппировать отдельные переменные в одну структуру, доступ к ним осуществляется через оператор выбора члена (.). Объектно-ориентированное программирование в значительной степени основывается именно на структурах, поэтому, если вы изучили только одну вещь из этой главы, то лучше, чтобы это были структуры.

Тест

Ура! 🙂

1) При разработке игры мы решили, что в ней должны быть монстры, потому что всем нравится сражаться с монстрами. Объявите структуру, которая представляет вашего монстра. Он должен иметь один из следующих типов: ogre, goblin, skeleton, orc и troll. Если ваш компилятор совместим с C++ 11, используйте классы enum. Если нет, то обычные перечисления.

Каждый отдельный монстр также должен иметь имя (используйте std::string) и количество здоровья, которое отображает, сколько урона он может получить, прежде чем умрет. Напишите функцию printMonster(), которая выведет все члены структуры. Объявите монстров типа goblin и orc, инициализируйте их, используя список инициализаторов, и передайте в функцию printMonster().

Ваша программа должна выводить что-то следующее:

This Goblin is named John and has 170 health.
This Orc is named James and has 35 health.

Ответы

Ответ C++11

Ответ не С++ 11

Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (5 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в:
Подписаться на обновления:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *