ВУЗ:
Составители:
Рубрика:
14
Над числами выполняются арифметические операции, следова-
тельно, удобно будет перегрузить эти операции в виде компонент-
ных операций-функций:
Date operator -(Date&D);
Date operator +(Date D);
Date& operator =(const Date &D);
Ввод и вывод чисел удобно реализовать с помощью глобальных
перегруженных операций-функций >> и <<.
Таким образом, описание класса предназначенного для работы с
датами будет выглядеть следующим образом:
class date
{
char *date_string;//строка для хранения даты в виде дд.мм.гггг.
int days;//количество дней в дате для выполнения расчетов
public:
date();//конструктор
date(const date&);//конструктор копирования
~date();//деструктор
//инициализация даты: заполняет атрибут date_string, вычисляет
//количество дней в этой дате, затем заполняет атрибут days
void init(char*);
// вспомогательная функция, которая по количеству дней формирует
//строку вида дд.мм.гггг.
void days_to_string();
// вспомогательная функция для вычисления дней в дате
void string_to_days();
//перегруженная функция для сложения двух дат
date operator+(date&);
//перегруженная функция для сложения двух дат
date operator-(date&);
//перегруженная функция присваивания
date& operator=(const date&);
//дружественная функция для ввода даты
friend istream&operator>>(istream&in,date&);
//дружественная функция для вывода даты
friend ostream&operator<<(ostream&in,date&);
};
Класс «Диалог с пользователем» осуществляет ввод данных в
виде строк, заносит эти строки в операнды калькулятора, вводит
операцию, заносит ее в знак операции калькулятора, вводит фор-
му, требуемого результата, заносит ее в соответствующий атрибут
калькулятора, получает результат и выводит его в нужной форме.
Эти действия повторяются до тех пор, пока пользователь не введет
команду для окончания расчетов. Для ввода данных можно использо-
вать меню. Таким образом, класс Диалог может иметь следующую
реализацию:
class Dialog
{
public:
Calc c;//калькулятор для выполнения расчетов
void menu();//меню для диалога с пользователем
//цикл, в котором осуществляется вывод меню, ввод данных,
//вычисление результата и проверка окончания расчетов
14 Над числами выполняются арифметические операции, следова- тельно, удобно будет перегрузить эти операции в виде компонент- ных операций-функций: Date operator -(Date&D); Date operator +(Date D); Date& operator =(const Date &D); Ввод и вывод чисел удобно реализовать с помощью глобальных перегруженных операций-функций >> и <<. Таким образом, описание класса предназначенного для работы с датами будет выглядеть следующим образом: class date { char *date_string;//строка для хранения даты в виде дд.мм.гггг. int days;//количество дней в дате для выполнения расчетов public: date();//конструктор date(const date&);//конструктор копирования ~date();//деструктор //инициализация даты: заполняет атрибут date_string, вычисляет //количество дней в этой дате, затем заполняет атрибут days void init(char*); // вспомогательная функция, которая по количеству дней формирует //строку вида дд.мм.гггг. void days_to_string(); // вспомогательная функция для вычисления дней в дате void string_to_days(); //перегруженная функция для сложения двух дат date operator+(date&); //перегруженная функция для сложения двух дат date operator-(date&); //перегруженная функция присваивания date& operator=(const date&); //дружественная функция для ввода даты friend istream&operator>>(istream&in,date&); //дружественная функция для вывода даты friend ostream&operator<<(ostream&in,date&); }; Класс «Диалог с пользователем» осуществляет ввод данных в виде строк, заносит эти строки в операнды калькулятора, вводит операцию, заносит ее в знак операции калькулятора, вводит фор- му, требуемого результата, заносит ее в соответствующий атрибут калькулятора, получает результат и выводит его в нужной форме. Эти действия повторяются до тех пор, пока пользователь не введет команду для окончания расчетов. Для ввода данных можно использо- вать меню. Таким образом, класс Диалог может иметь следующую реализацию: class Dialog { public: Calc c;//калькулятор для выполнения расчетов void menu();//меню для диалога с пользователем //цикл, в котором осуществляется вывод меню, ввод данных, //вычисление результата и проверка окончания расчетов
Страницы
- « первая
- ‹ предыдущая
- …
- 12
- 13
- 14
- 15
- 16
- …
- следующая ›
- последняя »