Задание 2
Организация программ с использованием перегрузки функций Использование механизма перегрузки операций в программах
Цель задания
1. Изучение механизма перегрузки функций.
2. Получение навыков в написании программ с использованием перегрузки конструкторов.
3. Изучение механизма перегрузки операций.
4. Получение навыков в написании программ с использованием перегрузки операций для объектов, введенных пользователем.
Методические указания
Разработать программы, реализующие механизмы перегрузки функций и операций для объектов, введенных пользователем.
А. Минимальные задания:
Варианты задания 2.1
- Создайте функцию sroot ( ), которая возвращает квадратный корень своего аргумента. Перегрузите sroot ( ) тремя способами: чтобы получить квадратный корень целого, длинного целого и числа с плавающей точкой двойной точности. Для подсчета квадратного корня используйте стандартную библиотечную функцию sqrt ( ).
- Создайте функцию sleep ( ) , приостанавливающую работу компьютера на столько секунд, сколько указано в аргументе функции. Перегрузите sleep ( ) так, чтобы она могла вызываться или с целым, или со строкой, задающей целое. Например, оба этих вызова должны заставить компьютер остановиться на 15 секунд: sleep ( 15 ) ; sleep ( “15” ) ;
- Создайте функцию min ( ) ,которая возвращает наименьший из двух численных аргументов, используемых при вызове функции. Перегрузите min ( ) так, чтобы она воспринимала в качестве аргументов символы, целые и действительные двойной точности.
- Создайте функцию r_str ( ) для изменения порядка следования символов строки на обратный. Перегрузите r_str ( ) так, чтобы она могла вызываться с одним или с двумя символьными строками. Если функция вызывается с одной строкой, то операция должна осуществляться с ней. Если она вызывается с двумя строками, то результирующая строка должна оказаться во втором аргументе, а первый аргумент остается без изменений.
- Создайте функцию prompt ( ) для выдачи подсказки пользователю и ожидания ввода данного. Перегрузите функцию prompt ( ) так, чтобы она осуществляла ввод данных типов int, double, long.
- Дано неполное определение класса:
class strt ( ) {
char *p ;
int len ;
public :
char *getstring ( ) { retutn p ; }
int *getlength ( ) { retutn len ; } } ;
Добавьте в это определение два конструктора в первом не должно быть параметров. Он должен выделять255 байтов памяти, инициализировать эту память нулевой строкой и устанавливать переменную len равной 255. во втором конструкторе должно быть два параметра. Первый – это строка, используемая при инициализации, второй – число выделяемых байтов. Во второй версии конструктора должно выделяться заданное количество памяти, в которую помещается копия строки. Реализуйте полный контроль границ массива и, разработав программу вывода, показать, что оба конструктора работают, как задумано.
- Создайте класс stopwatchдля имитации секундомера. Используйте конструктор для начальной установки секундомера в 0. Образуйте две член-функции start ( ) и stop ( ) соответственно для запуска и остановки секундомера. Включите в класс член – функцию show ( ) для вывода на экран величины истекшего промежутка времени. Перегрузите конструктор для доступа к системному времени через стандартную функцию clock ( ). Покажите что оба конструктора работают.
- Дано неполное определение класса date:
class date {
int day, month, year ;
public :
здесь конструкторы и функция для вывода на экран даты
} ;
Перегрузите конструктор двумя способами. В первом случае данные задаются в виде строки символов, в другом случае в виде трех целых. Покажите, что оба конструктора работают.
- На основании класса date, описанного в предыдущем задании, перегрузите конструктор date ( )в другом случае так, чтобы он имел параметр типа time_t. (time_t. — это тип данных, определенный стандартными библиотечными функциями времени и даты компилятора С++.)
- Пусть дано следующее неполное описание класса, добавьте конструкторы так, чтобы оба объявления в функции main ( ) были правильны. (необходимо дважды перегрузить конструктор samp ( ).)
class samp {
int a ;
public :
Добавьте конструкторы
int get_a ( ) { return a ; } } ;
int main ( )
Статьи к прочтению:
Основы PHP — вывод данных на экран
Похожие статьи:
-
Функции для вывода в поток stdout
Ниже представлены сокращенные заголовки некоторых функций для вывода в стандартный поток stdout, связанный с экраном монитора (консольным окном). Вывод…
-
Стандартные функции вывода информации
Методические указания По выполнению контрольной работы по курсу «Основы алгоритмизации и программирования» (ОАиП) для студентов заочного отделения ИИТ…