Г. Шилдт - Полный справочник по C++ (1109478), страница 2
Текст из файла (страница 2)
Файловый ввод-вывод Файловые системы языков С и С++ Потоки и файлы Потоки Текстовыс потоки Бинарные потоки Файлы Основы файловой системы Указатель фаила Открытие файла Закрытие файла Запись символа Чтение символа Применение функций Горел(), 8е!сО, рц!сП и Гс1озеП Применение функции ГеоГП Работа со строками: функции Грц!з() и Гйегз() 167 !69 170 173 174 !75 176 176 177 179 179 180 180 !81 !31 182 182 183 184 134 !85 185 186 186 137 !87 !87 188 188 188 189 !39 !89 !89 190 191 192 192 192 193 193 !93 194 194 195 196 196 197 197 193 200 Содаржаиие 200 201 203 203 204 204 205 207 208 209 потоко ЧАСТЬ 11. ЯЗЫК С++ 223 Функция гезч!пг)() Функция Геггог() Удаление файла Очистка потока Функции Ггеас1() и Гчгп!с() Применение функпий !гсадО и Гчт!гс() Функция ГзеейО и файлы с произвольным доступом Функции Грг!пф) и ГзсапГ() Стандартные потоки Связь с консольным вводом-выводом Применение функции !георепО лля перенаправления стандартных Глава 10.
Препроцессор и комментарии Прспроцессор Дирскгива №г!ебпс Определение ф>нкций в виде макросов Директива №епог Директива №гпс1цде Директивы условной компиляции Директивы №!Г, №е1зе, .№ейр и №епйГ Директивы №!Гг!еГ и !Гпг)еГ Директива №цпг)сГ Оператор дсйпсг! Директива №!гпе Директива №ргайпза Операторы прспроцессора № и №№ Имена предопределенных макросов Комментарии Однострочные комментарии Глава 11. Обзор языка С++ Истоки языка С++ Что такое объектно-ориентированное программирование Инкапсуляция Полиморфизм Наследование Некоторые основные принципы языка С++ Пример программы на языке С++ Операторы авода-вывода Объявление локальных переменных Правило "!пг по умолчанию' Тип данных Ьоо! Старый и новый стиль языка С++ Новыи стиль заголовков Пространства имен Работа со старым компилятором Введение в классы Перегр>зка функций Перегрузка операторов Наследование Конструкторы и деструкторы 211 2!2 2!2 214 214 215 215 215 217 218 219 219 220 220 22! 22! 222 225 226 227 228 228 229 229 229 232 232 233 234 234 235 236 237 237 240 243 243 247 Содержание еского аргументы Ключевые слова языка С++ Структура программы на языке С++ Глава 12.
Классы и объекты Классы Связь межлу структурами и классами Связь между объединениями и классами Безымянные объединения Дружественные функции Дружественные классы Подставляемые функции Определение подставляемых Функций внутри класса Конструкторы с параметрами Конструкторы с одним параметром: особый случай Статические члены класса Статические переменные-члены Статические функции-члены Вызов конструкторов и деструкторов Оператор разрешения области видимости Вложенные классы Локальныс классы Передача объектов Функциям Возврашение объектов Присваивание объектов Глава 13. Массивы, указатели, ссылки и операторы динамич распределения памяти Массивы обьектов Инициализированные и неинициализированные массивы Указатели на объекты Проверка типа указателей Указателы1г1з Указатели на производные типы Указатели на члены класса Ссылки Передача параметров с помошью ссылок Передача ссылок на объекты Возврат ссылок Независимые ссылки Ссылки на производные типы Ограничения на ссылки Стиль Операторы динамического распределения памяти Инициализация выделяемой памяти Выделение памяти для массивов Выделение памяти для объектов Альтернатива пойзгов Буферизованный оператор пстг Глава 14.
Перегрузка функций, конструкторы копирования и по умолчанию Перегрузка Функций Перегрузка конструкторов 250 250 251 252 254 256 257 258 261 262 264 265 267 267 267 271 272 274 274 274 275 277 278 279 280 282 232 284 284 285 287 289 290 292 293 294 294 295 295 295 297 297 293 302 302 303 304 305 Содержание 305 307 308 31! 312 312 316 317 317 321 322 326 327 327 327 "++" и *' —" 329 331 332 336 Перегрузка конструктора для достижения гибкости Создание инициализированных и неинициализированных обьекюв Конструктор копирования Определение алреса псрегружсной функпии Анахронизм охсг!оаг! Аргументы функции по умолчанию Аргументы по умолчанию и перегрузка Правильное применение аргументов по умолчанию Перегрузка функций и неоднозна шость Глава 15.
Перегрузха операторов Создание операторной функции-члена Создание прсфиксной и постфиксной форм операторов инкрсментации и дскремснтаг!и и Перегрузка сокращенных опера~оров присваивания Ограничения на перегруженные операторы Перегрузка операторов с помощью дружественных функций Применение дружественных функций жчя перегрузки операторов Дружественные операторные функции повышают гибкость Перегрузка операторов пеи и г!е!есе Перегрузка операторов пезу и г!е!ете лля массивов Перегрузка операторов псзч и г!е!сге, не генерируклдих исключительной ситуации Перегрузка некоторых специальных операторов Перегрузка оператора "Ц" Перегрузка оператора "()" Перегрузка оператора "->'* Перегрузка оператора "," Глава 16.
Наследование Управление доступом к членам базового класса Насяедование и защишснныс члены Защищенное наследование Множественное паслсдование Конструкторы, деструкторы и наследование Когда вызываются конструкторы и деструкторы Передача параметров конструктору базового класса Предоставление доступа Виртуальные базовые классы Глава 17.
Виртуальные функции и полиморфизм Виртуальные функции Вызов виртуальнои функции с помощью ссылки на объект базового класса Атрибут т!пца! наследуется Виртуальные функпии являются иерархическими Чисто виртуальныс функции Абстрактные классы Применение виртуальных функций Сравнение раннего и позднего связывания Глава 18. Шаблоны Обобшенныс функции Функция с двумя обобщенными типами Явная перегрузка обобщенной функции 338 339 339 342 343 344 347 348 349 352 353 354 354 357 360 362 367 368 370 371 372 374 376 376 378 379 380 382 382 Содержание кций осах рес!ег!() Заголовок <гз!геаш> и классы файлов Открытие и закрытие файла г!гение и запись текстовых файлов Бесформатный и бинарный ввод-вывод Перегрузка шабягяшои функции Испо!!ьзованнс стандартных параметров шаблонных фун Ограничения на обобщенные функции Применение обобщенных функпии Обобщенная сортировка Уплотнение массива Обобщенные классы Пример использования двух обобщенных типов данных Применение шаблонных классов: обобщенный массив Применение стандартных типов в обобщенных классах Применение аргументов по умолчанию в шаблсяшых кла Явные специализации классов Ключевые слова гурепагпс и ехрог! Мощь шаблонов Глава 19.
Обработка исключительных ситуаций Основы обработки исключительных ситуаций Перехват классов исключительных ситуаций Применение нескольких операторов сагой Обработка производных исключительных ситуаций Тонкости обработки исключительных ситуации Перехват всех исключительных ситуаций Ограниче! !ия исключительных ситуаций Повторное генерирование исключительной ситуации Функции гсгпцпагеО и цпсхресгег!О Обработчики, связанные с функциями гепгипагс() и ыпсх Функция цпсацй!з! ехссрйоп() Классы ехсср!юп и Ьаг! ехсерпоп Применение обработки исключительных сигуаций Глава 20. Основы системы ввода-вывода Сравнение старой и новой систем ввода-вывода Потоки Классы потоков в языке С++ Встроенные потоки в языке С++ Форматированный ввод-вывод Форматирование с помощью членов класса !оз Установка флагов формата Сброс фла!ов формата Перегруженная форма функции хе!Я) Проверка флагов форматирования Установка всех флагов Применение функций ичг!гпО, ргесгвюп() и 011() Применение манипуляторов формата Перегрузка операторов -«" и "»" Создание собственных функций вставки Создание собственных функций извлечения Созлание собственных манипуляторов Глава 21.
Файловая система 384 385 385 386 386 388 389 391 392 393 395 396 397 398 399 400 404 405 406 407 407 409 410 411 4!2 413 413 413 415 416 416 417 418 418 418 419 420 421 422 423 423 425 427 427 432 434 437 438 438 440 442 Содержание Сравнение символов и бай~ос Функции рш() и 3ег() Функции гсаг)() и вт!гс() Дополнительные функции кец) Функция 3ег!1пе() Распознавание конца файла Функция 13поге() Функции ресЕП и рпгбасйО Функция ЙцФ() Произвольный доступ Опрслелсние тскушей позиции Статус ввода-вывода Настройка ввода-вывода в файлы Глава 22. Динамическая идентификация типа н операторы приведения Динамическая идентификация типа (КТП) Применение динамической идентификации типа Применение оператора гуреЫ к шаблогшым классам Операторы приведения типов Оператор дупапнс сазг Замена оператора гуреЫ оператором г)упагп(с сап Применение оператора дупапмс сап к шаблонным классам Оператор сопЯ сваг Оператор аагк сап Оператор геиаегргег сазГ Глава 23.
Пространства имен, преобразования функций и другие новшества Пространства имен Основы пространств имен Директива ияпк Неименованные пространства имен Некоторые особенности пространств имен Пространство имен згс1 Создание функций преобразования Функции-члены с атрибутами сопл! и ппиаЫе Функции-члены с атрибутом то!аб!с Явные конструкторы Инциализация членов класса Применение ключевого слова аагп Спецификации связей Буферизованный ввод-вывод Классы буферизованного вывола Созланис буферизованного потока вывола Применение буферизованного ввода Буферизованныи ввод-вывод Применение динамических массивов Применение бинарпык операций ввода-вывода к буферизова~аым потокам Отличия между языками С и С++ Глава 24 Введение в стандартную библиотеку шаблонов Обзор библиотеки 5Т1.