Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

V.vivod

Void print ( void) void print ( void) | Перегрузка стандартных операций | Complex c1; |


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 ( )

mybiblioteka.su - 2015-2024 год. (0.008 сек.)