Составители:
Рубрика:
40
объектами класса client является использование дружественных функций или
дружественных классов.
3.7. Перегрузка операций
Классы вводят в программу новые пользовательские типы данных. Такие ти-
пы могут использоваться наравне со стандартными ( базовыми): они могут исполь-
зоваться для определения новых переменных, могут входить в списки параметров
функций и определять тип возвращаемого значения. В
условиях фактического рав-
ноправия производных и основных типов данных должна существовать возмож-
ность сохранения привычной структуры выражений при работе с данными произ-
водных типов. Это означает, что выражение для вычисления суммы двух слагае-
мых уже известного нам типа array по своей структуре не должно отличаться от
соответствующих выражений для слагаемых
типа int или float. Но большинство
операций языка C++ определены лишь для основных типов данных. Использование
в качестве операндов операций выражений производных типов вызывает ошибки
трансляции.
int a,b,c;
…
c=a+b; // использование операндов базовых типов для операции сложения разрешено
array m1(4),m2(4),m3(4);
…
// m1=m2+m3; ошибка!!! использование операндов производных типов для
//операции сложения запрещено
И всё же возможность сохранения привычной структуры выражений для про-
изводных типов в C++ существует.
Для этого в программе необходимо перегрузить
операцию для нестандартного типа данных. Перегрузка операции заключается в
определении специальной функции, которая будет вызываться при использовании
операции языка С++ с нестандартными типами данных.
объектами класса client является использование дружественных функций или дружественных классов. 3.7. Перегрузка операций Классы вводят в программу новые пользовательские типы данных. Такие ти- пы могут использоваться наравне со стандартными ( базовыми): они могут исполь- зоваться для определения новых переменных, могут входить в списки параметров функций и определять тип возвращаемого значения. В условиях фактического рав- ноправия производных и основных типов данных должна существовать возмож- ность сохранения привычной структуры выражений при работе с данными произ- водных типов. Это означает, что выражение для вычисления суммы двух слагае- мых уже известного нам типа array по своей структуре не должно отличаться от соответствующих выражений для слагаемых типа int или float. Но большинство операций языка C++ определены лишь для основных типов данных. Использование в качестве операндов операций выражений производных типов вызывает ошибки трансляции. int a,b,c; … c=a+b; // использование операндов базовых типов для операции сложения разрешено array m1(4),m2(4),m3(4); … // m1=m2+m3; ошибка!!! использование операндов производных типов для //операции сложения запрещено И всё же возможность сохранения привычной структуры выражений для про- изводных типов в C++ существует. Для этого в программе необходимо перегрузить операцию для нестандартного типа данных. Перегрузка операции заключается в определении специальной функции, которая будет вызываться при использовании операции языка С++ с нестандартными типами данных. 40
Страницы
- « первая
- ‹ предыдущая
- …
- 38
- 39
- 40
- 41
- 42
- …
- следующая ›
- последняя »