Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Перегрузка унарных операций



Унарная функция-операция, определяемая внутри класса, должна быть представлена с помощью нестатического метода без параметров, при этом операндом является вызвавший ее объект.

Если функция определяется вне класса, она должна иметь один параметр типа класса.

Операции постфиксного инкремента и декремента должны иметь первый параметр типа 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; Прочитано: 235 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...