Date в формате ММ-ДД-ГГГГ: os
Автор admin Вторник, 12 мая 2009 11:32
Date в формате ММ-ДД-ГГГГ: ostream& operator«(ostream& os, const Date& d) { char fillc = os.filK ‘0′): os « setw(2) « d.getMonthO « ‘-’ « setw(2) « d.getDayО « ‘-’ « setw(4) « setfill(fillc) « d.getYearO: return os: } 134 Глава 4 • Потоки ввода-вывода Эта операторная функция не может быть членом класса Date, потому что левый операнд оператора « должен быть потоком вывода. Функция fill() класса ostream изменяет символ-заполнитель, используемый, если ширина поля, определяемая манипулятором setwQ, превышает размер выводимых данных. Мы выбираем символ «О», чтобы месяцы до октября отображались с начальным нулем (например, 09 для сентября). Функция Ш() также возвращает предыдущий заполнитель (пробел по умолчанию), чтобы позднее его можно было восстановить манипулятором setfill(). Манипуляторы будут подробно описаны далее. С операторами чтения дело обстоит сложнее, потому что при чтении данных возможны ошибки. Сигналы об ошибках потоков подаются при помощи флага failbit, как показано в следующем примере: istream& operator»(istream& is, Date& d) { is » d.month; char dash; is » dash; if (dash != ‘-•) is.setsta
Комментарии закрыты.
Последние комментарии