|
v=-v;
v.vivod;}
Рассмотрим перегрузку операций инкремента (++) и декремента (- -), которые могут быть префиксными и постфиксными.
Принято соглашение, что префиксные операции (++) и (- -), ничем не отличаются от обычной перегрузки унарных операций. Т.е. дружественные функции перегрузки содержат один параметр, а компонентные функции перегрузки – не имеют параметров и определяют те же префиксные операции.
Постфиксные операции–функции должны иметь еще один дополнительный параметр типа int и тогда компонентная функция перегрузки имеет только один параметр int, а дружественная два – первый типа класс, а второй типа int.
Операция – функция вызывается с нулевым целым параметром.
Рассмотрим перегрузку префиксных и постфиксных операций для класса “пара чисел”, при этом перегрузку операции инкремента произведем с помощью дружественной функции-операции, а декремента – с помощью компонентной функции- операции.
#include <iostream.h>
class pair {
Int N
Double X
public:
Pair (int n, double x)
{ N=n; X= x; }
friend pair & operator ++ (pair &); // префиксная
friend pair & operator++ (pair&, int); // постфиксная
pair& operator- - () // префиксная
{ N= N-1; X - = 1.0;
return * this; }
pair& operator- - (int k) // постфиксная
{ N= N-1+k; X - = 1.0 +k;
return * this;}
Дата добавления: 2015-07-19; просмотров: 43 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Stroka Z; | | | Void main ( ) |