C++ для «чайников» - [4]

Шрифт
Интервал

>

>    Автоматический конструктор копирования 215

>    "Мелкие" и "глубокие" копии 217

>    Временные объекты 221

>        Как избегать временных объектов 222

>        Аргумент копирующего конструктора 223

Глава 19.Статические члены 224

>    Определение статических членов 224

>        Зачем нужны статические члены 224

>        Использование статических членов 225

>        Обращение к статическим данным-членам 226

>        Применение статических данных-членов 227

_________________

10 стр. Содержание


>    Объявление статических функций-членов 228

>    Что такое this 230

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

Глава 20.Наследование классов 233

>    Зачем нужно наследование 234

>    Как наследуется класс 234

>        Использование подкласса 236

>        Конструирование подкласса 237

>        Деструкция подкласса 238

>    Отношение СОДЕРЖИТ 238

Глава 21.Знакомство с виртуальными функциями-членами: настоящие ли они 240

>    Зачем нужен полиморфизм 243

>    Как работает полиморфизм 245

>    Когда функция не является виртуальной 246

>    Виртуальные особенности 247

Глава 22.Разложение классов 249

>    Разложение 249

>    Реализация абстрактных классов 253

>        Концепция абстрактных классов 254

>        Создание полноценного класса из абстрактного 255

>        Передача абстрактных классов 257

>        Нужны ли чисто виртуальные функции 257

>    Разделение исходного кода С++ 259

>        Разделение программы — класс Student 260

>        Определение пространства имён 261

>        Реализация класса Student 261

>        Разделение программы — класс GraduateStudent 262

>        Реализация приложения 263

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

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

Часть 5. Полезные особенности 269

Глава 23.Оператор присвоения 271

>    Сравнение операторов и функций 271

>    Потоковые операторы 272

>    Мелкое копирование — глубокие проблемы 272

>    Переопределение оператора присвоения 273

>    Защита от копирования 276

Глава 24.Использование потоков ввода-вывода 277

>    Как работают потоки ввода-вывода 277

>    Знакомство с подклассами fstream 278

>    Прямое чтение из потока 282

>    Что такое endl 284

>    Подклассы strstream 285

>    Работа с манипуляторами 287

_________________

11 стр. Содержание


Глава 25.Обработка ошибок и исключения 290

>    Зачем нужен новый механизм обработки ошибок 291

>    Механизм исключительных ситуаций 293

>    Так что же мы будем бросать? 295

Глава 26.Множественное наследование 298

>    Механизм множественного наследования 298

>    Устранение неоднозначностей множественного наследования 300

>    Виртуальное наследование 301

>    Конструирование объектов 306

>    Отрицательные стороны множественного наследования 306

Глава 27.Шаблоны С++ 308

>    Обобщение функции в шаблон 309

>    Шаблоны классов 311

>    Зачем нужны шаблоны классов 314

>    Советы по использованию шаблонов 316

Глава 28.Стандартная библиотека шаблонов 317

>    Контейнер string 317

>    Контейнер list 320

>    Итераторы 321

>    Использование контейнера  map 324

Часть 6. Великолепная десятка 329

Глава 29.Десять способов избежать ошибок 331

>    Включение всех предупреждений и сообщений об ошибках 331

>    Добейтесь чистой компиляции 332

>    Используйте последовательный стиль программирования 332

>    Ограничивайте видимость 332

>    Комментируйте свою программу 334

>    Хотя бы один раз выполните программу пошагово 334

>    Избегайте перегрузки операторов 334

>    Работа с кучей 334

>    Используйте для обработки ошибок исключительные ситуации 335

>    Избегайте множественного наследования 335  

Глава 30.Десять основных возможностей Dev-C++ 336

>    Настройка редактора по вашему вкусу 336

>    Подсветка парных скобок 337

>    Включение обработки исключений 337

>    Включение отладочной информации 338

>    Создание файла проекта 338

>    Настройка справки 338

>    Переустановка точек останова после редактирования файла 339

>    Избегайте некорректных имён файлов 339

>    Включите заголовочные файлы в ваш проект 339

>    Работа с профайлером 339

_________________

12 стр. Содержание


Глава 31.Программа BUDGET 343

>    BUDGET1 343

>    BUDGET2 348

>    BUDGET3 355

>        Реализация модуля со связанным списком 356

>        Работа со счетами 358

>        Классы связанных списков 363

>        Оценка бюджета 365

>    BUDGET4 366

>        Реализация связанного списка в виде шаблона класса 366

>        Исходный код BUDGET4 368

>        Подведение итогов 373

>    BUDGET5 373

>        Использование шаблона класса из STL 373

>        Создание списка счетов 378

Приложение. Содержимое прилагаемого компакт-диска 379

Пиктограммы

Технические подробности

Советы.

Диск.

Помни!

Атас!

Предметный указатель 380

_________________

13 стр. Содержание


Моим друзьям и семье, которые помогли мне стать "чайником" в ещё большей степени, чем я есть на самом деле.

Об авторе

Стефан P. Дэвис ( Stephen R. Davis ) живёт с женой и сыном недалеко от Далласа, штат Техас. Он и его семья — авторы множества книг, включая такие бестселлеры, как С++ для "чайников" и С++ Weekend Crash Course. Стефан работает в компании L-3 Communications.

Благодарности

Я считаю странным то, что на обложке любой книги, особенно такой, как эта, написано только одно имя. В действительности свой труд в создание книги вкладывает громадное число людей. Для начала я хотел бы поблагодарить своего главного редактора Мэри Кордер ( Mary Corder ) и агента Клодетт Мур ( Claudette Moore ), направлявших меня при формировании материала этой книги. Во время работы над книгой я значительно повысил свой уровень как редактор и корректор, и в этом мне помогли редакторы первых изданий. И если бы не помощь координатора первого и второго изданий Сьюзанны Томас ( Suzanne Thomas ), эта книга вообще не была бы напечатана. Однако, несмотря ни на что, на обложке представлено только одно имя, а значит, ответственность за все неточности в тексте должен нести именно его обладатель.


Рекомендуем почитать
Изучаем Java EE 7

Java Enterprise Edition (Java EE) остается одной из ведущих технологий и платформ на основе Java. Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода. Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP)


Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


Фундаментальные алгоритмы и структуры данных в Delphi

Книга "Фундаментальные алгоритмы и структуры данных в Delphi" представляет собой уникальное учебное и справочное пособие по наиболее распространенным алгоритмам манипулирования данными, которые зарекомендовали себя как надежные и проверенные многими поколениями программистов. По данным журнала "Delphi Informant" за 2002 год, эта книга была признана сообществом разработчиков прикладных приложений на Delphi как «самая лучшая книга по практическому применению всех версий Delphi».В книге подробно рассматриваются базовые понятия алгоритмов и основополагающие структуры данных, алгоритмы сортировки, поиска, хеширования, синтаксического разбора, сжатия данных, а также многие другие темы, тесно связанные с прикладным программированием.


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.


Как пасти котов. Наставление для программистов, руководящих другими программистами

«Как пасти котов» – это книга о лидерстве и руководстве, о том, как первое совмещать со вторым. Это, если хотите, словарь трудных случаев управления IT-проектами. Программист подобен кошке, которая гуляет сама по себе. Так уж исторически сложилось. Именно поэтому так непросто быть руководителем команды разработчиков. Даже если вы еще месяц назад были блестящим и дисциплинированным программистом и вдруг оказались в роли менеджера, вряд ли вы знаете, с чего надо начать, какой выбрать стиль руководства, как нанимать и увольнять сотрудников, проводить совещания, добиваться своевременного выполнения задач.