|
Программирование >> Расширенная версия языка c++
II Инициализация стека , stack::stack() tos=0; > Помещение символа в стек . . . void stack::push{char ch} i . . -, cout Стек полон ; return; stck[tos]=ch; tos++; / кивание символа из стека char stack::pop О if (tos=-o) { ; \ cout Стек пуст ; / return 0; возврат нуля при стом стеке tos-; return stck [tos]; 2. Напишите программу с классов tch, которхй бы играл роль обгчнхх часов. Используя стандартные функции времени, создайте конструктор класса, который должен считывать и запоминать системное время. Для вывода этого времени на экран создайте пользовательскую функцию вывода. 3. На основе класса, созданного для преобразования футов в дюймы, напи-пште пользовательскую функцию ввода, формирующую строку-приглашение для записи числа футов. Кроме этого, напишите пользовательскую функцию вывода дж отображения на экране как числа футов, так и числа дюймов. Включите указанные функции в программу и продемонстрируйте их работоспособность. clas t0 inches { .....> -г double feet; double inches; . . public: void set (double); { feet - f; inches = f * 12; } Глава 9 Дополнительные возможности ввода/вывода в C++ В этой главе продолжается изучение системы ввода/вывода C++. Здесь вы узнаете, как создать пользовательские манипуляторы ввода/вывода и как реализовать ввод/вывод в файл. Запомните, система ввода/вывода С++ очень богата, гибка и многофункциональна. Рассмотрение всех ее возможностей выходит за рамки данной мы коснемся только наиболее важ-н1х из них. Представленная в этой главе система ввода/вывода C++ определена в стандарте Standard C++ и совместима с подавляющим большинством современных компиляторов C++. Если у вас устаревший или несовместимый с современной системой ввода/вывода компилятор, то не все описанные здесь возможности будут вам доступны. . , . ПоБТОрение пройденного Перед тем как продолжить, необходимо правильно ответить на следующие вопросы и сделать упражнения. Напишите программу для вывода предложения: C++ прекрасен в поле шириной 40 символов с использованием двоеточия (:) в качестве символа заполнения. Напишите программу для вывода результата деления с четырьмя знаками после десятичной точки. Для этого используйте функции-члены класса ios. Перепишите предыдущую используя манипуляторы вво- да/вывода. 4. Что такое пользовательская функция вывода? Что такое пользовательская функция ввода? - Самоучитель C++ 5. Дан следующий класс. Создайте для него пользовательские функции ввода и вывода. гл , class date { cha [Э]; дата хранится в виде строки: mm/dd/yy .: - public: добавьте пользовательские функции ввода и вывода - , , 6. Какой заголовок должен быть включен в программу для использования манипуляторов ввода/вывода с параметрами? 7. Какие создаются встроенные потоки, когда начинается выполнение программы на C++? 9.1. Создание пользовательских манипуляторов В дополнение к перегрузке операторов ввода и вывода вы можете создать свою подсистему ввода/вывода ( : , определив для этого собственные манипуляторы. Использование пользовательских манипуляторов важно по двум причинам. Во-первых, можно объединить последовательность нескольких отдельных операций по вводу/выводу в один манипулятор. Например, нередки ситуации, в которых в программе встречаются одинаковые последовательности операций ввода/вывода. Для выполнения такой последовательности можно создать пользовательский манипулятор. Этим вы упрощаете исходную программу и исключаете случайные ошибки. Во-вторых, пользовательский манипулятор может понадобиться, когда необходимо выполнить ввод/вывод на нестандартном оборудовании. Например, вы могли бы воспользоваться манипулятором для посылки управляющих кодов на специальный принтер или в систему оптического распознавания. Пользовательские манипуляторы - это те элементы языка, которые обеспечивают поддержку в C++ объектно-ориентированного программирования, но они также удобны и для обычных, не объектно-ориентированных программ. Как вы увидите, пользовательские манипуляторы могут помочь сделать любую программу ввода/вывода понятней и эффективней. Как вы знаете, имеется два базовых типа манипуляторов: которые работают с потоками ввода, и те, которые работают с потоками вывода. Однако кроме этих двух категорий имеются еще две: манипуляторы с аргументами и без них. Есть несколько важных отличий в способе создания манипуляторов с параметрами и без. Более того, создание манипуляторов с параметрами является существенно более трудной задачей, чем создание манипуляторов без параметров, и в этой книге не рассматривается. С другой стороны, создать пользовательский манипулятор без параметров достаточно просто, и вы скоро узнаете, как это сделать.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |