Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ramybozy
8 / 8 / 0
Регистрация: 01.07.2012
Сообщений: 138
#1

Перегрузка запятой - C++

27.07.2012, 14:32. Просмотров 777. Ответов 3
Метки нет (Все метки)

В одном учебнике (Топп, Структуры данных) указывается, что опекрация запятая не может быть перегружена.
Дейтлы утверждают прямо противоположное.
Кто из них прав?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.07.2012, 14:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перегрузка запятой (C++):

В строке имеется одна точка с запятой (;). Подсчитать количество символов до точки с запятой и после нее. - C++
В строке имеется одна точка с запятой ( ; ). Подсчитать количество символов до точки с запятой и после нее.

Перегрузка в виде метода VS Перегрузка в виде функции друг - C++
Привет! Собственно сабж: В каких случаях используется перегрузка в виде метода, а когда в виде функции друг? Добавлено через 4...

Множественное наследование, Перегрузка функций, Перегрузка операторов, Использование дружественных функций и классов, Использование шаблонов классов - C++
Здравствуйте!!! Я бы хотел попросить помоч решить...ну или скинуть примеры таких задач, если вдруг у вас они завалялись на компе или...

Символы после запятой - C++
Приветствую Посмотрите пожалуйста код, по условию надо сделать что бы после запятой в ответе был ответ с точностью в 2 символа, но...

Цифры после запятой - C++
Доброго времени. Есть код, в котором переменная res в итоге равняется, к примеру 27,5 (float). Мне нужно вывести в файл результат с 3-мя...

знаки после запятой - C++
Здравствуйте, простой вопрос на который я никак не могу найти ответ. Почему после компиляции, программа отказывается показывать знаки...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
27.07.2012, 14:36 #2
Нельзя перегрузить только . .* :: ?:. Все остальные можно.
An operator function shall either be a non-static member function or be a non-member function and have
at least one parameter whose type is a class, a reference to a class, an enumeration, or a reference to an
enumeration. It is not possible to change the precedence, grouping, or number of operands of operators.
The meaning of the operators =, (unary) &, and , (comma), predefined for each type, can be changed for
specific class and enumeration types by defining operator functions that implement these operators. Operator
functions are inherited in the same manner as other base class functions.
Nick Alte
Эксперт С++
1636 / 1008 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
27.07.2012, 14:43 #3
Это элементарно проверяется.
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,608
27.07.2012, 14:49 #4
Чуть по-другому попробовал, но тоже получилось
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
class MyInt {
    int val;
public:
    MyInt(int i) : val(i) {}
    int operator , ( const MyInt & another ) const { return ( val < another.val ) ? another.val : val; }
};
 
int main() {
    std::cout << ( MyInt(13), MyInt(69) ) << '\n' << ( MyInt(69), MyInt(13) ) << std::endl;
    
    return 0;
}
Код
./comma 
69
69

Не по теме:

Цитата Сообщение от ramybozy Посмотреть сообщение
Топп
ФТоппку !

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.07.2012, 14:49
Привет! Вот еще темы с ответами:

нули после запятой - C++
Остаток на начало месяца Сумма всех элементов взимается этого клиента в этом месяце Сумма всех кредитов применяются на счет этого...

Цифры после запятой - C++
Уважаемые форумчаны, начал изучать С++, и вот столкнулся с такой проблемой: как отформатировать вывод вещественных чисел при помощи...

Числа с плавающей запятой - C++
есть программа которая подсчитывает сумму чисел, введенных с командной строки. к примеру С:\&gt; test.exe 1 2 3 &lt;ENTER&gt; что бы...

Операция с плавающей запятой - C++
float f=13565.0; float x=0.01; float z=f+x;


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.07.2012, 14:49
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru