ВУЗ:
Составители:
Рубрика:
Объектно-ориентированное программирование на С++
имеют значения по умолчанию, вызов функции также может
интерпретироваться неоднозначно. Например, имеются функции:
void f(int a) {. . .}
void f(int a, int b = 10) {. . .}
При следующем вызове
int n = 19;
f(n);
возникает неоднозначность, поскольку такой вызов может
трактоваться и как вызов первой функции, и как вызов второй
функции с параметром по умолчанию. Таким образом, первую
функцию вызвать нельзя (возникнет ошибка), а вторую – можно
только при указании обоих параметров.
Домашнее задание
1. Напишите перегруженные функции, реализующие операции с
векторами:
• умножения вектора на число;
• скалярного умножения двух векторов;
• умножения числа на вектор.
2. Определите структуру «Время», содержащую поля для хранения
часов, минут, секунд. Напишите перегруженные функции,
реализующие операцию добавления к имеющемуся времени:
• заданного количества секунд;
• заданного количества минут и секунд;
• заданного количества часов, минут и секунд.
3. Определите структуру «Дата», содержащую поля для хранения
года, месяца, дня. Напишите перегруженные функции,
реализующие операцию добавления к имеющейся дате:
• заданного количества дней;
• заданного количества месяцев и дней;
• заданного количества лет, месяцев и дней.
4. Напишите перегруженные функции, осуществляющие
преобразование числа в символьную строку:
• Для целых чисел;
21
Объектно-ориентированное программирование на С++
имеют значения по умолчанию, вызов функции также может
интерпретироваться неоднозначно. Например, имеются функции:
void f(int a) {. . .}
void f(int a, int b = 10) {. . .}
При следующем вызове
int n = 19;
f(n);
возникает неоднозначность, поскольку такой вызов может
трактоваться и как вызов первой функции, и как вызов второй
функции с параметром по умолчанию. Таким образом, первую
функцию вызвать нельзя (возникнет ошибка), а вторую – можно
только при указании обоих параметров.
Домашнее задание
1. Напишите перегруженные функции, реализующие операции с
векторами:
• умножения вектора на число;
• скалярного умножения двух векторов;
• умножения числа на вектор.
2. Определите структуру «Время», содержащую поля для хранения
часов, минут, секунд. Напишите перегруженные функции,
реализующие операцию добавления к имеющемуся времени:
• заданного количества секунд;
• заданного количества минут и секунд;
• заданного количества часов, минут и секунд.
3. Определите структуру «Дата», содержащую поля для хранения
года, месяца, дня. Напишите перегруженные функции,
реализующие операцию добавления к имеющейся дате:
• заданного количества дней;
• заданного количества месяцев и дней;
• заданного количества лет, месяцев и дней.
4. Напишите перегруженные функции, осуществляющие
преобразование числа в символьную строку:
• Для целых чисел;
21
Страницы
- « первая
- ‹ предыдущая
- …
- 19
- 20
- 21
- 22
- 23
- …
- следующая ›
- последняя »
