|
Программирование >> Структурное программирование
10.14. Модифицируйте систему расчета заработной платы на рис 10.1, добавив скрытые данные-элементы birthDate (дата рождения, объект Date) и DepartmentCode (код отдела типа int) в класс Employee. Предполагайте, что расчет заработной платы производится один раз в месяц. Пусть ваша программа производит расчет заработной платы каждого служащего (с помощью полиморфизма) и добавляет премию в 100 долларов к его зарплате, если на месяц оплаты выпадает день его рождения. 10.15. В упражнении 9.14 вы разработали иерархию классов форм Shape и описали классы этой иерархии. Модифицируйте иерархию так, чтобы класс Shape был абстрактным базовым классом, содержащим интерфейс иерархии. Создайте классы TwoDimensionalShape и TwoDimensionalShape, производные от класса Shape. Эти классы тоже должны быть абстрактными. Используйте виртуальную функцию print для вывода типа и размера объекта каждого класса. Добавьте также виртуальные функции area и volume, которые выполняли бы вычисления для объектов каждого конкретного класса в иерархии. Напишите программу драйвер, которая проверяла бы созданную иерархию. глава Потоки ввода-вывода в С++ Ц е л и Понять, как использовать объектно-ориентированные потоки ввода-вывода в С++. Научиться форматировать вводимые и выводимые данные. Понять иерархию классов потоков ввода-вывода. Понять, как вводить и выводить объекты типов, определенных пользователем. Научиться создавать определенные пользователем манипуляторы потока. Научиться определять, успешно или нет выполнилась операция ввода-вывода. Научиться связывать выходной поток с входным. План 11.1. Введение 11.2. Потоки 11.2.1. Заголовочные файлы библиотеки iostream 11.2.2. Классы и объекты потоков ввода-вывода 11.3. Вывод потоков 11.3.1. Операция поместить в поток 11.3.2. Сцепление операций поместить в поток и взять из потока 11.3.3. Вывод переменных типа char * 11.3.4. Вывод символов с помощью функции-элемента put; сцепленные выводы 11.4. Ввод потоков 11.4.1. Операция взять из потока 11.4.2. Функции-элементы get и getline 11.4.3. Другие функции-элементы класса istream {реек, putback и ignore) 11.4.4.Сохранение типов данных при вводе-выводе 11.5. Неформатированный ввод-вывод с использованием read, gcount и write 11.6. Манипуляторы потоков 11.6.1. Манипуляторы потоков dec, oct, hex и setbase, задающие основание чисел 11.6.2. Точность чисел с плавающей запятой (precision, setprecision) 11.6.3. Ширина поля (setw и widtti) 11.6.4. Манипуляторы, определяемые пользователем 11.7. Состояния формата потоков 11.7.1. флаги состояний формата 11.7.2. Нулевые младшие разряды и десятичные точки {ios::stiowpoint) 11.7.3 Выравнивание {iosr.left, iosr.right и ios::internal) 11.7.4. Заполнение {fill и setfill) 11.7.5. Основание системы счисления (ios::dec, ios::oct, ios::hex, ios::showbase) 11.7.6. Числа с плавающей запятой; экспоненциальный формат {ios::scientific, ios::fixed) 11.7.7. Управление выводом в нижнем и верхнем региарах {ios::uppercase) 11.7.8. Установка и сброс флагов формата {flags, setiosflags и resetiosflags) 11.8. Состояния потока ошибок 11.9. Ввод-вывод определенных пользователем типов данных 11.10. Связывание выходного потока с входным
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |