русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Бинарные операции


Дата добавления: 2015-07-09; просмотров: 507; Нарушение авторских прав


 

Семантика перегружаемой операторной функции определяется решаемыми задачами и фантазией разработчика.

 

// Бинарные операции также обязаны возвращать значения!

public static Point2D operator + (Point2D par1, Point2D par2)

{

return new Point2D(par1.x+par2.x,par1.y+par2.y);

}

 

// Реализуется алгоритм “сложения” значения типа Point2D со значением типа float.

// От перемены мест слагаемых сумма НЕ ИЗМЕНЯЕТСЯ. Однако эта особенность нашей

// операторной функции “сложения” (операции “сложения”) должна быть прописана

// программистом. В результате получаем ПАРУ операторных функций, которые отличаются

// списками параметров.

// Point2D + float

public static Point2D operator + (Point2D par1, float val)

{

return new Point2D(par1.x+val,par1.y+val);

}

 

// float + Point2D

public static Point2D operator + (float val, Point2D par1)

{

return new Point2D(val+par1.x,val+par1.y);

}

 

А вот применение этих функций. Внешнее сходство выражений вызова операторных функций с обычными выражениями очевидно. И при этом иного способа вызова операторных функций нет!

 

…p1 + p2…

…3.14 + p2…

… p2 + 3.14…

 

 

Операции сравнения реализуются аналогично. Хотя не существует никаких ограничений на тип возвращаемого значения, в силу специфики применения (обычно в условных выражениях операторов управления) операций сравнения всё же имеет смысл определять их как операторные функции, возвращающие значения true и false.

 

public static bool operator == (myPoint2D par1, myPoint2D par2)

{

if (par1.x==par2.x && par1.y==par2.y)

return true;

else

return false;

}

 

public static bool operator != (myPoint2D par1, myPoint2D par2)

{

if (par1.x!=par2.x || par1.y!=par2.y)

return true;

else

return false;

}



<== предыдущая лекция | следующая лекция ==>
Синтаксис объявления операторной функции | True и false Operator


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.633 сек.