Данное приложение представляет собой краткое введение в язык С++, предназначенное для разработчиков, знакомых с Java или C#. Предполагается, что вы знакомы с такими концепциями объектно—ориентированного программирования, как наследование и полиморфизм, и хотите обучиться программированию на С++. Чтобы эта книга не стала громоздким 1500—страничным томом, включающим в себя полный учебник по С++ для начинающих, это приложение ограничивается изложением только существенных вопросов. В нем представлены основные понятия и методы, необходимые для понимания программ, приводимых в остальной части книги, и достаточные для того, чтобы, используя Qt, начать разработку межплатформенных приложений с графическим пользовательским интерфейсом.
На момент написания книги язык С++ представляет собой единственное реальное средство написания межплатформенных, высокопроизводительных объектно—ориентированных приложений с графическим пользовательским интерфейсом. Недоброжелатели С++ обычно отмечают, что программировать на Java или C#, который отошел от поддержки совместимости с языком С, более приятно; на самом деле Бьерн Страуструп (Bjarne Stroustrup), создатель С++, отмечал в книге «The Design and Evolution of C++» (Дизайн и эволюция С++), что «внутри С++ существует очень компактный и более аккуратный язык, изо всех сил стремящийся получить известность».
К счастью, при программировании в рамках Qt мы обычно придерживаемся некоторого подмножества С++, которое сильно приближается к утопическому языку, о котором говорил Страуструп, что позволяет нам сконцентрировать свое внимание непосредственно на текущей проблеме. Более того, Qt в некоторых аспектах расширяет С++ благодаря своему новаторскому механизму «сигналов и слотов», поддержке кодировки
В первом разделе данного приложения мы увидим, как можно объединять несколько файлов, содержащих исходный код С++, для получения исполняемой программы. Это приведет нас к изучению таких центральных концепций С++, как единица компиляции, заголовочные файлы, объектные файлы, библиотеки, и ознакомит с препроцессором, компилятором и компоновщиком С++.
Затем мы рассмотрим наиболее важные отличия языков С++, Java и C#, связанные с определением классов, использованием указателей и ссылок, перегрузками операторов, применением препроцессора и т.д. Несмотря на то что синтаксис С++ очень похож на синтаксис Java и C#, имеется тонкое отличие базовых концепций. В то же время язык С++, под влиянием которого coздaвaлиcь Java и C#, имеет много общего с этими двумя языками, в частности аналогичные типы данных, те же самые арифметические операторы и одинаковые основные операторы управления.
Последней раздел посвящен стандартной библиотеке С++, которая обеспечивает функциональность, готовую к применению в любой программе на С++. Эта библиотека развивалась в течение более 30 лет и поэтому вобрала в себя многие подходы, в том числе процедурный, объектно—ориентированный и функциональный стили программирования, а также макросы и шаблоны. По сравнению с библиoтeкaми Java и C# стандартная библиотека С++ имеет довольно ограниченную область применения; она не поддерживает программирование графического пользовательского интерфейса, многопоточную обработку, базы данных, интернационализацию, работу с сетями, XML и
Именно здесь приходит на помощь Qt. Сначала средства разработки Qt представляли собой межплатформенный инструментарий по созданию графического пользовательского интерфейса (набор классов, позволяющий писать переносимые приложения с графическим пользовательским интерфейсом), но затем они быстро превратились в полномасштабную рабочую среду, частично расширяющую и частично заменяющую стандартную библиотеку С++. Хотя эта книга посвящена средствам разработки Qt, полезно знать возможности стандартной библиотеки С++, поскольку вам, возможно, придется работать с программным кодом, использующим эту библиотеку.
← предущий раздел | следующий раздел → |