Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

перегрузка операторов

27K
04 апреля 2008 года
NikiFar
16 / / 01.03.2008
Подскажите можно ли перегрузить стандартные операторы , например == для double, пробовал

bool operator==(const double &a, const double &b)
{
if (fabs(a - b) < EPS) return true;
else return false;
}

че то не хочет
535
04 апреля 2008 года
Нездешний
537 / / 17.01.2008
Страуструп. Введение в язык С++

Цитата:
Функция операция должна быть или членом, или получать в качестве параметра по меньшей мере один объект класса (функциям, которые переопределяют операции new и delete, это делать необязательно). Это правило гарантирует, что пользователь не может изменить смысл никакого выражения, не включающего в себя определенного пользователем типа.

27K
04 апреля 2008 года
NikiFar
16 / / 01.03.2008
то есть нельзя : )
спасибо !
34K
06 апреля 2008 года
Carbon
17 / / 21.03.2008
Как вариант можно сделать класс-обёртку, содержащий 1 поле типа double и там уже все нужные операторы прописать, но проще просто создать функцию типа equals.
5.3K
07 апреля 2008 года
!Волк
95 / / 19.07.2006
По теме!
Подскажите как перегрузить операцию
двойных квадратных скобок "[][]".
3
08 апреля 2008 года
Green
4.8K / / 20.01.2000
Цитата: !Волк
По теме!
Подскажите как перегрузить операцию
двойных квадратных скобок "[][]".


Никак. Нет такой операции.
Сначала вызывается операция индексирования (квадратный скобки) у одного объекта, к результату так же применяется операция индексирования.
Поэтому либо создавай прокси-объект, либо (что в большинстве случаев правильнее) храни данные уже в такой табличной форме (строки, столбцы).

Вот пример:

 
Код:
typedef vector<int> Column;
typedef vector<Column> Table;

Table table(10, Column(10));
table[x][y];
5.3K
08 апреля 2008 года
!Волк
95 / / 19.07.2006
Спасибо! Мне подошел первый вариант.:)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог