- •Лабораторная работа 1
- •Методы (функции-члены) класса. Инкапсуляция Краткие справочные сведения
- •Задания к лабораторной работе 1
- •Лабораторная работа 2 Наследование и виртуальные функции. Абстрактные классы. Краткие справочные сведения
- •Задания к лабораторной работе 2
- •Лабораторная работа 3 Полиморфизм. Перегрузка операций и функций Краткие справочные сведения
- •Задания к лабораторной работе 3
- •Лабораторная работа 4 Дружественные функции Краткие справочные сведения
- •Void ff(...) тело функции .
- •Задания к лабораторной работе 4
Задания к лабораторной работе 3
Для строки символов реализовать операции:
а) сравнение строк (операция ==);
б) удаление из строки заданного символа (операция –).
Кроме того, членом класса сделать функцию с именем strset() для удаления из первой строки всех символов, встречающихся во второй строке.
Для строки символов реализовать операции:
а) проверка в строке наличия заданного символа (операция !);
б) перевод указанного символа строки в код ASCII(операция %).
Членом класса сделать функцию с именем strlen() для нахождения суммы кодов ASCII всех символов данной строки.
В британском формате дата задается как число/месяц/год. Реализовать с учетом високосных годов:
а) сложение даты и заданного количества дней (операция +);
б) вычитание из даты заданного количества дней (операция –).
Кроме того, членом класса сделать функцию с именем printf() для вывода конечной даты.
В британском формате дата задается как число/месяц/год. Реализовать с учетом високосных годов:
а) определение числа дней, прошедших между двумя датами (операция %);
б) нахождение порядкового номера даты в заданном году (операция /).
Членом класса сделать функцию с именем printf() для вывода конечной даты.
Ввести класс для работы с прямоугольной матрицей. Реализовать операции:
а) сложение двух матриц (операция +);
б) умножение двух матриц (операция *).
Членом класса сделать функцию printf() для вывода конечной матрицы и ее модуля.
Ввести класс для работы с прямоугольной матрицей. Реализовать операции:
а) проверка наличия заданного числа в заданной матрице (операция !);
б) вычитание двух матриц (операция –).
Членом класса сделать функцию с именем printf() для вывода конечной матрицы и ее модуля.
Время задается в формате час/минута/секунда. Реализовать следующие операции(учесть переход через 24 часа):
а) сложение времени и заданного количества секунд (операция +);
б) вычитание из времени заданного количества секунд (операция –).
Членом класса сделать функцию с именем printf() для вывода конечного времени.
Время задается в формате час/минута/секунда. Реализовать следующие операции (учесть переход через 24 часа):
а) вычитание из одного момента времени другого (операция –);
б) подсчет числа секунд между двумя моментами времени в пределах одних суток (операция %).
Членом класса сделать функцию printf() для вывода конечного времени.
Время задается в формате час/минута/секунда. Реализовать следующие операции (учесть переход через 24 часа):
а) сложение двух моментов времени(операция +);
б) определение времени дня по заданному количеству пройденных секунд(операция /).
Членом класса сделать функцию printf() для вывода конечного времени.
Ввести класс для работы с объектом «полином». Реализовать операции:
а) сложение двух полиномов (операция +);
б) умножение двух полиномов (операция *).
Членом класса сделать функцию printf() для вывода конечного полинома.
Ввести класс для работы с объектом «полином». Реализовать операции:
а) вычитание двух полиномов (операция –);
б) деление двух полиномов (операция /).
Членом класса сделать функцию printf() для вывода конечного полинома.
Ввести класс для работы с объектом «полином». Реализовать операции:
а) умножение полинома на число (операция &);
б) вычисление значения полинома в заданной точке Х (операция |).
Членом класса сделать функцию printf() для вывода конечного полинома.
Ввести класс для работы с объектом «множество целых чисел». Реализовать следующие операции:
а) объединение двух множеств (операция +);
б) пересечение двух множеств (операция &).
Членом класса сделать функцию printf() для вывода конечного множества.
Ввести класс для работы с объектом «множество целых чисел». Реализовать следующие операции:
а) разность двух множеств (операция –);
б) добавление элемента во множество (операция +).
Членом класса сделать функцию printf() для вывода конечного множества.
Ввести класс для работы с объектом «множество целых чисел». Реализовать следующие операции:
а) удаление элемента из множества (операция –);
б) проверка наличия заданного элемента в заданном множестве (операция /). Членом класса сделать функцию printf() для вывода конечного множества.
Ввести класс работы с объектом «рациональная дробь» вида m/n. Реализовать:
а) сложение дробей (операция +);
б) умножение двух дробей (операция *).
Членом класса сделать функцию printf() для вывода конечной дроби в виде m/n.
Ввести класс работы с объектом «рациональная дробь» вида m/n. Реализовать:
а) вычитание дробей (операция –);
б) деление двух дробей (операция /).
Членом класса сделать функцию с именем abs() для приведениея дроби к несократимому виду.
Ввести класс работы с объектом «рациональная дробь» вида m/n. Реализовать:
а) сравнение двух дробей (операция ||);
б) возведение в целую положительную степень (операция ^).
Членом класса сделать функцию с именем printf() для вывода конечной дроби в несократимом виде m/n.
Комплексное число задается своей вещественной и мнимой частями (например, 5+3i задается парой 5,3). Реализовать:
а) сложение чисел (операция +);
б) произведение двух чисел (операция *).
Членом класса сделать функцию printf() для вывода конечного числа в виде U+iV.
Комплексное число задается своей вещественной и мнимой частями (например, 5+3i задается парой 5,3). Реализовать:
а) вычитание чисел (операция –);
б) возведение числа в целую положительную степень (операция ^).
Членом класса сделать функцию printf() для вывода конечного числа в виде U+iV.
АТД − множество с элементами типа char. Дополнительно перегрузить следующие операции:
+ − добавить элемент в множество(типа char + set);
+ − объединение множеств;
= = − проверка множеств на равенство.
АТД − множество с элементами типа char. Дополнительно перегрузить следующие операции:
- − удалить элемент из множества (типа set-char);
* − пересечение множеств;
< − сравнение множеств.
АТД − множество с элементами типа char. Дополнительно перегрузить следующие операции:
- − удалить элемент из множества (типа set-char);
> − проверка на подмножество;
!= − проверка множеств на неравенство.
АТД − множество с элементами типа char. Дополнительно перегрузить следующие операции:
+ − добавить элемент в множество (типа set+char);
* − пересечение множеств;
int()− мощность множества.
АТД − множество с элементами типа char. Дополнительно перегрузить следующие операции:
() − конструктор множества (в стиле конструктора Паскаля);
+ − объединение множеств;
<= − сравнение множеств .
АТД − множество с элементами типа char. Дополнительно перегрузить следующие операции:
> − проверка на принадлежность(char in set Паскаля);
* − пересечение множеств;
< − проверка на подмножество.
АТД − однонаправленный список с элементами типа char. Дополнительно перегрузить следующие операции:
+ – объединить списки (list+list);
-- – удалить элемент из начала (типа --list);
= = – проверка на равенство.
АТД − однонаправленный список с элементами типа char. Дополнительно перегрузить следующие операции:
+ – добавить элемент в начало(char+list);
-- – удалить элемент из начала(типа –list);
= = – проверка на равенство.
АТД − однонаправленный список с элементами типа char. Дополнительно перегрузить следующие операции:
+ − добавить элемент в конец (list+char);
-- − удалить элемент из конца (типа list--);
!= − проверка на неравенство.
АТД − однонаправленный список с элементами типа char. Дополнительно перегрузить следующие операции:
[] − доступ к элементу в заданной позиции, например:
int i; char c;
list L;
c=L[i];
+ − объединить два списка;
= = − проверка на равенство.
АТД − однонаправленный список с элементами типа char. Дополнительно перегрузить следующие операции:
[] − доступ к элементу в заданной позиции, например:
int i; char c;
list L;
c=L[i];
+ − объединить два списка;
!= − проверка на неравенство.
АТД − однонаправленный список с элементами типа char. Дополнительно перегрузить следующие операции:
() − удалить элемент в заданной позиции, например :
int i;
list L;
L[i];
() − добавить элемент в заданную позицию, например :
int i; char c;
list L;
L[с,i];
!= − проверка на неравенство.
АТД − стек. Дополнительно перегрузить следующие операции:
+ − добавить элемент в стек;
− − извлечь элемент из стека;
bool()− проверка, пустой ли стек.
АТД − очередь. Дополнительно перегрузить следующие операции:
+ − добавить элемент;
− − извлечь элемент;
bool() – проверка, пустая ли очередь.
АТД − одномерный массив (вектор) вещественных чисел. Дополнительно перегрузить следующие операции:
+ − сложение векторов (a[i]+b[i] для всех i);
[] − доступ по индексу;
+ − добавить число к вектору (double+vector).
АТД − одномерный массив (вектор) вещественных чисел. Дополнительно перегрузить следующие операции:
- − вычитание векторов (a[i]-b[i] для всех i);
[] − доступ по индексу;
- − вычесть из вектора число (vector-double).
АТД − одномерный массив (вектор) вещественных чисел. Дополнительно перегрузить следующие операции:
* − умножение векторов (a[i]*b[i] для всех i);
[] − доступ по индексу;
* − умножить вектор на число (vector*double).
АТД − одномерный массив (вектор) вещественных чисел. Дополнительно перегрузить следующие операции:
int() − размер вектора;
() − установить новый размер;
- − вычесть из вектора число (vector-double);
[] − доступ по индексу;
АТД − одномерный массив (вектор) вещественных чисел. Дополнительно перегрузить следующие операции:
= − присвоить всем элементам вектора значение (vector=double);
[] − доступ по индексу;
= = − проверка на равенство;
!= − проверка на неравенство;
АТД − двухмерный массив (матрица) вещественных чисел. Дополнительно перегрузить следующие операции:
() − доступ по индексу;
* − умножение матриц;
* − умножение матрицы на число;
* − умножение числа на матрицу.
АТД − двухмерный массив (матрица) вещественных чисел. Дополнительно перегрузить следующие операции:
() − доступ по индексу;
- − разность матриц;
- − вычесть из матрицы число;
= = − проверка матриц на равенство.
АТД − двухмерный массив (матрица) вещественных чисел. Дополнительно перегрузить следующие операции:
() − доступ по индексу;
= − присвоить всем элементам матрицы значение (matr=double);
+ − сложение матриц;
+ − сложить матрицу с числом (matr+double).
АТД − двухмерный массив (матрица) вещественных чисел. Дополнительно перегрузить следующие операции:
() − доступ по индексу;
= = − проверка матриц на равенство;
++ − транспонировать матрицу.
