Конструктор представляет собой специальную функцию, которая автоматически вызывается каждый раз при создании объекта. Обычное назначение конструктора заключается в инициализации элементов данных объекта. Конструктор имеет такое же имя, как и класс. Например, класс с именем file использует конструктор с именем file. Конструктор определяется внутри программы так же, как и любой метод класса. Единственное различие заключается в том, что конструктор не имеет возвращаемого значения. Когда позже объявляется объект, можно передавать параметры конструктору, как показано ниже:
class_name object(valuel, value2, value3)
Деструктор представляет собой функцию, которая автоматически запускается при уничтожении объекта. Деструктор имеет такое же имя, как и класс объекта; однако имя деструктора предваряется символом тильды (~), например ~employee. В программе деструктор определяется так же, как и любой другой метод класса.
Задания
1.Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Xнач. до Xкон. с шагом dX.
⎧
⎪ ax 2 + b при x < 0 и b ≠ 0
⎪⎪ x − a
F:=⎨ при x > 0 и b = 0
⎪ x − c
⎪ x востальныхслучаях
⎪⎩ c
где a, b и c – действительные числа. Функция F должна принимать действительное значение, если выражение (Ац ИЛИ Вц) И (Ац ИЛИ Сц) не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозначены целые части значений a, b и c, операции ИЛИ и И – поразрядные. Значения a, b, c, Xнач., Xкон. и dX ввести с клавиатуры.
2. В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) минимальный элемент массива;
2) сумму элементов массива, расположенных между первым и
последним положительным элементами.
Преобразовать массив так, чтобы сначала располагались все элементы, равные нулю, а потом остальные.
3. В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) количество положительных элементов массива;
2) сумму элементов массива, расположенных после последнего элемента, равного нулю.
Преобразовать массив так, чтобы сначала располагались все элементы, целая часть которых не превышает 1, а потом остальные.
4. Дана целочисленная квадратная матрица. Определить:
1) произведение элементов в тех строках, которые не содержат отрицательных элементов;
2) максимум среди сумм элементов диагоналей, параллельных главной.
5. Осуществить циклический сдвиг элементов прямоугольной матрицы на n элементов вправо или вниз (в зависимости от введенного режима), n может быть больше количества элементов в строке или столбце.
6. Дана целочисленная квадратная матрица. Определить:
1) количество строк, содержащих хотя бы один нулевой элемент;
2) номер столбца, содержащего самую длинную серию одинаковых элементов.
7. Реализовать сортировку матрицы.
8. Написать программу расчета стоимости покупки с учетом скидки. Скидка в 3 % предоставляется, если сумма покупки больше 500 р., в 5 % – сумма покупки больше 1000 р. Если сумма покупки более 3000 р. в течение 1 месяца – предоставляется скидка в 10 %.
9. Написать программу, которая запрашивает у пользователя номер месяца, а затем выводит название соответствующего времени года.
10. Написать программу, которая вычисляет частичную сумму ряда 1–1/3 + 1/5 – 1/7 + 1/9 –… и сравнивает полученное значение с числом π4.
При суммировании достаточно большого числа членов ряда величина суммы приближается к π4. Вычислить с заданной точностью.
11. Написать программу, которая вычисляет наибольший общий делитель двух целых чисел.
12. Написать программу, которая объединяет два упорядоченных по возрастанию массива в один, также упорядоченный по возрастанию массив.
13. Написать программу, которая принимает пароль пользователя (строку символов), проверяет достоверность пароля в массиве разрешенных паролей и выводит информацию об успехе/неуспехе ввода.
14. Составьте программу расчета заработной платы и оплаты сверхурочных на основе количества отработанных в неделю часов.
15. Написать программу расчета дня недели в зависимости от введенной даты.
Литература
1. Страуструп, Бьерн. Язык программирования C++ / пер. с англ.
С. Анисимова, М. Кононова под ред.Ф. Андреева, А. Ушакова.– 3-е изд. –
М.; СПб.: Бином: Нев. диалект, 1999. – 990 с.
2. Холзнер, Стивен. Visual C++ 6: учеб. курс. – СПб.: Питер, 1999. – 569с.
3. А. Нейбауэр. Моя первая программа на C/C++/ https://www.piterpress.ru/lib/978531400107/
4. М. Теллес. Borland C++ Builder (+CD). Библиотека программиста. https://www.piter-press.ru/lib/978531400107/
5. Stanley Lippman (Стенли Липпман) Essential C++ (Основы программирования на С++) – https://anatolix.naumen.ru/files/books/lipp...ial_cpp_eng.zip