Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Унарная функция-операция, определяемая внутри класса, должна быть представлена с помощью нестатического метода без параметров, при этом операндом является вызвавший ее объект.
Если функция определяется вне класса, она должна иметь один параметр типа класса.
Операции постфиксного инкремента и декремента должны иметь первый параметр типа int. Он используется только для того, чтобы отличить их от префиксной формы.
ЗАДАЧА 4.1. Пусть операция ++x увеличивает действительную и мнимую часть комплексного числа x на 1, а x++ увеличивает на 1 только действительную часть комплексного числа x.
#include <iostream>
Using namespace std;
class complex {
float x; //Действительная часть комплексного числа.
float y; //Мнимая часть комплексного числа.
public:
complex(bool pr=true); //Конструктор класса
//Функция, перегружающая оператор ++x, в этом случае это метод без параметров.
complex operator++()
{
x++; y++; //Увеличиваем действительную и мнимую часть на 1.
return *this;
}
//Функция, перегружающая оператор x++, в этом случае это метод с абстрактным параметром
//целого типа. Наличие целого типа в скобках говорит только о том, что что перегружается //оператор x++, а не ++x.
complex operator++(int)
{
x++; //Увеличиваем действительную часть на 1.
return *this;
}
Show_complex();
};
Дата публикования: 2014-11-28; Прочитано: 236 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!