Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008
|
||
Урок 1 Основные операторы языка C++ (часть 2) | ||
Данный небольшой урок является введением в программирование на C++ в MSVS 2008 Вам нужно иметь установленную среду Microsoft Visual Studio 2005 или 2008 (можно триал) |
||
[назад] [далее] [к содержанию] | ||
Мы рассматриваем основные конструкции языка C++ на примере работы в Microsoft Visual Studio 2008 | ||
В предыдущем уроке мы создали небольшой калькулятор. Этот урок позволил нам бегло познакомиться с некоторыми из конструкций языка C++ и некоторыми функциями. | ||
в этом уроке нам осталось рассмотреть - операторы объявления переменных; - операторы обработки исключений; |
||
- операторы объявления переменных; объявление (declaration) переменной сообщает компилятору, что элемент программы или имя существуют. Определения (definitions) определяют какой код или данные описывает имя. Имя должно быть объявлено до того, как оно будет использовано! Примеры объявлений //
Declare and define int variables i and j. объявление
переменных и присвоение начального значения //
Declare enumeration suits. объявление
перечисления //
Declare class CheckBox. объявление
класса |
||
Объявление (declaration) привносит в программу одно или более имен. Объявления могут производиться в программе многократно. Поэтому классы (classes), структуры (structures), перечисляемые типы (enumerated types) и другие определяемые пользователем типы могут быть объявлены в каждом требующем компиляции модуле. Ограничением такого множественного объявления является необходимость полной идентичности всех объявлений. Объявления могут служить также в качестве определений (definitions) исключая следующее: - это прототип функции (объявление функции без ее реализации (тела)); - содержит спецификатор extern, но не имеет инициализатора (объекты и переменные) или тела функции (функции). Это означает, что определение не нужно в текущем модуле и применяет к имени внешнее связывание; - это статичный член данных внутри объявления класса; Поскольку статичные члены данных класса представляют самостоятельные переменные, используемые совместно всеми объектами класса, они должны быть определены и инициализированы внутри объявления класса. - это объявление имени класса без последующего определения; - это оператор typedef; Примеры объявлений, которые не имеют последующих определений extern
int i; |
||
Несколько слов об определениях (definitions) Определения являются уникальными описаниями (спецификациями) объектов или переменных, функций, классов или перечислителей (enumerator). Поскольку определения должны быть уникальными, программа может содержать только одно определение для данного программного элемента. |
||
Соответствие между объявлениями и определениями сводятся к одному. Существуют два случая в которых программный элемент может быть объявлен и не определен: - функция объявлена, но ни разу не вызывается или не используется выражений требующих адреса данной функции; - класс используется только таким образом, что не требует определения. Однако класс должен быть объявлен. Вот пример демонстрирующий указанный случай: //
definitions.cpp class
Window int
main() |
||
Также советую Вам прочесть раздел документации MSVS 2008 посвященный авто-создаваемым и статичным объектам - MSVS 2008 Documentation (далее просто Help) - Development Tools and Languages > Visual Studio > Visual C++ > Reference > C/C++ Languages > C++ Language Reference > Statements > Declaration Statements | ||
- операторы обработки исключений; информацию по ним вы найдете в Help - Development Tools and Languages > Visual Studio > Visual C++ > Reference > C/C++ Languages > C++ Language Reference > Statements > Exception Handling Тема достаточно обширна, поэтому я сразу отправляю Вас к первоисточнику. В кратце могу лишь отметить, что исключения являются ошибками времени выполнения, связанными с делением на ноль, защитой памяти (Access Violation) и т. п. Базовыми операторами для этих целей являются try, catch и throw |
||
try
{ // code that could throw an exception } [ catch (exception-declaration) { // code that executes when exception-declaration is thrown // in the try block } [catch (exception-declaration) { // code that handles another exception type } ] . . . ] // The following syntax shows a throw expression: throw [expression] |
||
Язык C++ обеспечивает встроенную поддержку обработки аварийных ситуаций, известных как исключения (exceptions), которые могут происходить во время выполнения Вашей программы. Операторы try, throw и catch реализуют обработку исключений. При использовании обработки C++ исключений Ваша программа может взаимодействовать с непредвиденными событиями при высокоуровневом исполнимом контексте, который способен лучше реагировать на такие аварийные события. Такие исключения обрабатываются кодом находящимся вне основного потока выполнения программы. Рассмотрим как работает тройка операторов try, catch, throw Код после оператора try представляет защищенную секцию кода. Выражение появления исключения (throw expression) вызывает исключение (raises exception). Блок кода после catch это обработчик исключения захватывающий (обрабатывающий) исключение появившееся в выражении появления исключения. Оператор объявления исключения (exception-declaration) указывает на тип исключения обрабатываемого оператором catch. Таким типом может быть любой действительный тип данных, включая класс C++. Если оператор объявления исключения содержит многоточие (...), оператор catch обрабатывает любые типы исключений, включая исключения на C и сгенерированные системой и приложениями, такие как защита прав доступа к памяти, деление на ноль, переполнение числа с плавающей точкой. Такой обработчик должен быть последним из всех обработчиков блока try. Операнд при операторе throw синтаксически подобен операнду оператора return. Исполнение происходит в следующей последовательности:
|
||
Следующий пример из документации по MSVS показывает использование блока try и соответствующего ему обработчика catch. Пример определяет ошибку выделения памяти при использовании оператора new. Если new прошел успешно catch обработчик не будет исполнен: //
exceptions_trycatchandthrowstatements.cpp |
||
в следующем уроке мы познакомимся с особенностями создания оконных Win32-приложений | ||
[назад] [далее] [к содержанию] |
игра
Нечто: Необъяснимое Нить Накала - "в плену желаний"![]() |
||
доступна свежая версия - 1.01 june 2016 Распространяется бесплатно. В игре исправлены визуальные недочеты и некоторые другие особенности. дата выхода: 8.05.2009 (версия 1.00) |
||
Вы также можете дополнительно получить набор материалов по созданию новых уровней игры. Для этого вам нужно приобрести продукт - Набор разработчика игр. Вы сами сможете создать новые мини-игры и Вам не потребуется писать ни единой строчки кода! | ||
![]() ![]() |
||
![]() ![]() |
||
[downloads:7] |
||
Геникс сел за компьютер и... Попал словно в другое измерение. Ему предстоит встретиться с 12 девушками и собрать отдельные части истории воедино. Игра разбита на 12 мини-игр, в каждой из которых Вы встречаете одну из девушек, с определенным характером и в определенной ситуации, а она открывает Вам очередную часть загадочной истории. Цель игры: угадать все желания девушки. Если это произойдет, то Вы узнаете новую часть истории и достигните желаемого. Всего Вам встетится два типа мини-игр. Мини-игра тип 1. Вам предстоит выбирать различные предметы туалета примеряя их на девушку. Если сможете угадать ее желания, она выполнит Ваше - снимет или оденет выбранную Вами для неё деталь. Мини-игра тип 2. Вы играете в угадывание телесных желаний. Она загадывает места на своем теле, в которые Вы должны попасть. Если попадаете правильно, индикатор желаний прибавляется, нет - убывает. Нужно угадать 100% желаний. Призом Вам послужит очередная деталь одежды. Особенности игры: - изменение масштаба, перемещение по увеличенной сцене; - графика в стиле фото-симбиоз; - ненавязчивый и спокойный игровой процесс в котором Вы плавно двигаетесь к цели; - оригинальный саунд-трек; - отдельные части загадочной истории Чентиза и Рукера постепенно проясняются. |
||
![]() ![]() |
||
![]() ![]() |
||
![]() ![]() |
||
![]() ![]() |
||
[downloads:7] | ||
минимальные системные требования: Windows 98SE/2000/XP SP2/Celeron 997/256 Mb RAM/64 Mb Video/DirectX-sound card/108 Mb HDD/клавиатура, мышь. | ||
Перенесемся в Главу 7. После того, как Стас попал в тело Ани, прошло значительное время. Неуловимый некто, похитивший его тело исчез бесследно. Однако Стас начал действовать по-своему. Используя преимущества нового тела он занялся карьерой в шоу- и модельном бизнесе, и добился некоторых успехов, но главным успехом была его встреча с таинственным меценатом по имени Нехомето. Странный сон и череда событий предшествовавших этой встрече подсказали Стасу как нужно действовать. Итак, Нехомето почти в руках, нужно лишь выполнить задуманное и тогда Стас снова вернет своё тело. Итак, скоро, в Главе 7 "Игра соблазна" Вас ждет: - 2d квест в интерьерах апартаментов Холиона; - таинственная психоделическая энергия, которой обладает каждый предмет и которую предстоит приручить; - Стас в теле Ани должен противостоять планам Холиона самым головокружительным способом; - возможность создания продолжения игры; - и многое другое. |
||
Онлайн-комикс Костя Коробкин - В гостях у тёти Светы - интерактивный комикс (kk as).
А теперь нам Светлана скажет при помощи чего передвигаются половые клетки животных.
[страница 1][страница 2] [страница 3] [страница 4] [страница 5] [страница 6] [страница 7] [страница 8] [страница 9] [страница 10] [страница 11] [страница 12] [страница 13] [страница 14]
Однако прошло время и как-то решил перечитать книгу вновь. Восприятие книги конечно же сильно изменилось и в лучшую сторону. Хочется перечитывать книгу вновь и вновь. Я стал, что называется, "фанатом" именно этой книги.
Читал и другие произведения Крапивина, и вероятно буду читать еще. Недавно познакомился с книгой Синий город на садовой и впечатления только приятные.
Чем же так интересна и притягательна история Журавленка ? Первое - это конечно же проблема искренних взаимоотношений, дружбы и преданности. Журавленок или Журка живёт в некотором своём мире, но он не отгорожен от реального, а совсем наоборот.
Он встречает на своём жизненном пути людей, которые сыграют важнейшую роль. Сначала он знакомится с девочкой Иринкой и её мамой, затем, чуть позднее - с Горькой Валохиным и другими ребятами из двора. Попадаются и те, кого следует остерегаться - компания некоего Капрала. Но даже они будут показаны не только с отрицательной стороны.
Когда читаешь эту книгу - возникает сразу много вопросов: например, не является ли история журавленка в чем-то автобиографической ? Т. е. не взял ли Крапивин за основу что-то из своей личной жизни ? Вполне возможно, что взял, но не это так важно, хотя тоже интересно.
В нашу эпоху тотальной компьютеризации и направленности на компьютерные технологии, такие книги, как Журавленок и Молнии Владислава Крапивина по-моему никогда не потеряют своей актуальности (если выражаться формальным языком), и интереса к ним со стороны читателей. Конечно если Вы никогда не сталкивались с творчеством Крапивина, то об этом сложно судить. Более того, каждый воспринимает книги в меру своих знаний, жизненного опыта и многих других важных субъективных особенностей.
Но мне было крайне приятно и интересно снова окунуться в мир Журавленка именно в печатном варианте этой книги.
Выключив компьютер, я погружался в книгу и по-нескольку раз перечитывал многие главы.
Книга учит добру, учит тому, что в жизни есть не только радости, но и горе, трудности. Учит и показывает какими сложными и многогранными бывают одни и те же люди. Но самое увлекательное и притягательное - это открытость и простота во взаимоотношениях. Журка и его семья переезжает на новое место. С одной стороны это трудности в нахождении новых друзей, привыкание к новому месту. Например помню, когда я с родителями переехал в другой город, и был я уже далеко не пяти классник, мне было в этом отношении гораздо сложнее. Возможно в силу моих особенностей. Журка относительно быстро находит новых, причём самых настоящих друзей.
Иринка, с которой он знакомится в парке аттракционов, это первый друг, которого встречает Журка в новом городе. Горька - второй, и оказывается, друживший еще с его (Журкиным) дедушкой. Друзья самые близкие, знакомство с которыми происходит в несовсем стандартных условиях. Дальнейшее укрепление дружбы продолжается в цепочке событий, в которых мы узнаем о чувствах и переживаниях Журки, а также его друзей. Жизнь их совсем не безоблачна. Постоянно что-то случается и происходит. Конечно в книге нельзя описать всё в подробностях. Да это наверное и не нужно. Иначе бы книга стала очень длинной и мало кому интересной.
По сути в книге описан год из жизни Юры Журавина, включающий самые важные эпизоды. У Журки есть друзья не только среди детей, но и Лидия Сергеевна - его бывшая учительница, которая оказывается, тоже переехала в этот город. В трудный момент он сможет обратиться к ней. Есть у него и кот Федот, которого он спас на кладбище. Какие-то изверги привязали его веревками к кресту, а Журка обнаружил кота и спас. Это тоже одна из историй, когда Журка хотел доказать себе свою храбрость (пройтись ночью по кладбищу).
Есть в книге и история про Золушку, пересказанная на новый и замечательный лад. А также еще множество самых ярких и значительных событий. Простой пересказ содержимого этой книжки, конечно же не откроет вам всего многообразия и грубины, которую можно из неё почерпнуть. Вероятно в этом и есть настоящая прелесть таких книг - когда мы читаем их, наше воображение и наши чувства включаются на какой-то особенный лад и мы начинаем слышать и видеть то, что всегда так приятно, трогательно и важно знать, видеть и слышать.
Мир не так страшен каким он иногда кажется. Мы можем сделать этот мир лучше, но не ради его спасения, а ради нас самих - чтобы нам жилось в нём так, как хотелось бы - с надеждой на лучшее, с уверенностью в завтрашнем дне и главное в том, что есть самый большой и важный смысл ради которого стоит продолжать жить, несмотря ни на какие трудности и сложные проблемы.
Я попробовал изложить свои впечатления о данной книге. Где-то они получились немного формальными и суховатыми, в других местах - ближе к тому, что я собственно и хотел выразить.
Настоящий мастер печатного слова на самом деле всегда решает одновременно сразу много задач - и для себя, и для тех кто будет читать его текст. Словами нужно и можно уметь передать свои мысли и чувства, умело показать такие вещи, которые притягивают наши мысли и внимание. Спасибо за это Владиславу Петровичу Крапивину ! И хотя я почти незнаком с большинством из его книг, но книга Журавленок и молнии, которую я прочитал впервые еще в детстве, навсегда оставила след в моей душе. Я теперь знаю, что в нашем мире есть, не только безысходность, но и такие вещи, ради которых стоит жить!