Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Лабораторная работа №5
Переопределение операций
Цель работы: Научиться переопределять функции в классе для стандартных знаков операций.
1. Задание к лабораторной работе
1. Разработать класс Вектор, который содержит три вещественных элемента данных(координаты x, y, z), конструктор по умолчанию, конструктор с параметрами, конструктор копирования, функцию изменения координат вектора, функцию печати координат вектора на экране, функцию вычисления длины вектора.
2. Для класса Вектор переопределить 3 операции в соответствии с заданным вариантом.
Вариант |
Переопределяемые операции |
||
1 |
+ |
* (скалярное произведение двух векторов) |
< |
2 |
+ |
|
= |
3 |
|
++ |
> |
4 |
|
*(умножение вектора на константу) |
!= |
5 |
+ |
*(скалярное произведение двух векторов) |
<= |
6 |
+ |
|
= |
7 |
|
++ |
=> |
8 |
|
*(умножение вектора на константу) |
!= |
Смысл переопределяемых операций задан в таблице
Опрерация |
Смысл операции |
+ |
сложение двух векторов |
|
вычитание двух векторов |
* |
скалярное произведение умножение вектора на константу |
++ |
увеличение длины на 1 |
-- |
Уменьшение длины на 1 |
<,>,=,!=,<=,>= |
Операции сравнения длин векторов. |
2. Указания к выполнению
1. Создайте проект консольного приложения
2. Включите в состав проекта обычный класс C++
3. Добавьте в класс три элемента данных вещественного типа
4. Добавьте в класс конструктор с параметрами, конструктор копирования, функцию изменения значений элементов данных, функции изменения и извлечения отдельных элементов данных, функцию вычисления длины вектора, печати координат вектора на экране.
5. Добавьте в класс переопределенные функции-операции. Они отличаются от традиционных функций тем, что у них имя состоит из служебного слова operator и знака переопределяемой операции.
3. Примеры переопределения функций
3.1. Переопределение операции с одним операндом
Операция с одним операндом не имеет входных параметров. Она выполняется над текущим объектом, для которого она вызвана
3.2. Переопределение операций с двумя операндами
Операция с двумя операндами имеет 1 входной параметр. Текущим является объект, находящийся слева от знака операции. На текущий объект указывает указатель, обозначаемый служебным именем this. Объект, находящийся справа от знака операции, передается в функцию-операцию в качестве входного параметра.
3.3. Пример фрагмента демонстрационной программы
PAGE 3