Полезно за вас: Речник | Игри | Новини | Фирми | Рецепти | Обяви
Начало на реферати

Прeдефиниране на операции


Информационни технологии | 2009-12-04 | 56 сваляния
  1. Прeдефиниране на операции

  • Механизмът на предефиниране дава възможност за интерпретация на класовете като нови типове данни.

  • Ако a и b са два обекта от даден клас, то предефинирането на операция + позволява а+b да има смисъл.

  • Операцията може да се предефинира, ако в нея участва поне един обект от някакъв клас.

  • Не могат да се предефинират операциите: . :: * ?

Общ вид на операторна функция:

резултат_обект operator операция(параметри);

(или void)

1. Предефиниране с използване на независима приятелска функция

Общ вид:

class A

{ //член-данни

public:

//декларации на член-функции

friend A operator+(A x,A y);//декларация на приятелска функция

};

A operator+(A x,A y) //дефиниция на приятелска функция

{ //Тяло на приятелската функция }

Пример

#include

class point

{ int x,y;

public:

point(int a=0,int b=0)

{ x=a; y=b; }

void out()

{ cout<<коортдинати:<<x<< <<y<<n;}

friend point operator +(point,point);//декларация на приятелска

}; //ф-я за предефиниране на +

point operator +(point a,point b) //дефиниция на ф-я за

{ point p; //предефиниране на +

p.x=a.x+b.x;

p.y=a.y+b.y;

return p;

}

void main() //Резултати от изпълнение

{ point a(1,2); a.out(); //координати:1 2

point b(2,5); b.out(); //координати:2 5

point c;

c=a+b; c.out(); //координати:3 7

c=a+b+c; (а+b+c).out(); //координати:6 14

}

c=a+b; се интерпретира като: c=operator+(a,b)

2. Предефиниране с използване на член-функция

Общ вид:

class A

{ //член-данни

Прeдефиниране на операции

Добави своя коментар:



Тагове от реферата: , , , , , , ,


Подобни материали


Дефиниране на функции, връщащи стойност Информационни технологии | 2010-11-19 | 41 прочитания
ПОНЯТИЕ ЗА АЛГОРИТЪМ И ПРОГРАМА Информационни технологии | 2010-11-19 | 67 прочитания
ВЗАИМНО ИЗКЛЮЧВАНЕ - МЕТОД НА ДЕКЕР Информационни технологии | 2010-11-19 | 33 прочитания
Математически модел при автоматизиране на производството Информационни технологии | 2010-11-19 | 35 прочитания
Компютърна периферия - структура и организация. Канал за данни.Механизми за предава не на данни в паметтасканиране Информационни технологии | 2010-11-19 | 57 прочитания
Филтриране и сортиране на Д Информационни технологии | 2010-11-19 | 190 прочитания
Биполярните разредно разширяеми микропроцесорни ИС (bit - slice mikroprocessors) Информационни технологии | 2010-11-19 | 36 прочитания
Екран 11 - Формуляр за регистрация Информационни технологии | 2010-11-19 | 27 прочитания
Запомнящи устройства на PC - служат за съхраняване на информация Информационни технологии | 2010-11-19 | 32 прочитания
Релационни БД същност, особености, основни понятия Информационни технологии | 2010-11-19 | 126 прочитания