Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 21.01.2014
Сообщений: 73

Перегрузка тернарного оператора

12.04.2015, 21:25. Показов 4879. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток, пожалуйста, не ругайтесь сразу после прочтения заголовка, знаю, что перегрузить тернарный оператор невозможно. И всё же, мне препод по ооп дал задание сделать аналог перегрузки тернарного оператора, в принципе могу сделать проверку условия, у после перегрузить оператор ":" отдельно, двумя разными способами, в зависимости от правильности условия, вот только не могу нормально сделать проверку, посоветуйте как её реализовать, мне в принципе нужны не сточки кода, а именно как это сделать теоретически, а код я как нибудь напечатаю. И вообще есть у кого какие идеи, как реализовать перегрузку, которая аналогична работе тернарного оператора, спасибо заранее.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.04.2015, 21:25
Ответы с готовыми решениями:

Синтаксис тернарного оператора
В общем, начал изучать cpp, загуглил задачи, вроде делаю потихоньку, но тут столкнулся с проблемой написания условия if. А задачка...

Использование тернарного оператора
Подскажите пожалуйста, почему работает этот пример из книги и не работает второй вариант: int a = 259; void* p_v; p_v = a? p_v :...

Синтаксис тернарного оператора
Снова проблема в записи :wall: 14 строка, почему не работает? В стандартной записи под // пашет, а так нет. Объясните, если можно ...

2
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
12.04.2015, 21:54
Лучший ответ Сообщение было отмечено алексашк как решение

Решение

Может быть
C++ Скопировано
1
2
3
4
5
class Tenarnuu
{
public:
void make( логическое выражение, указатель на функции если true, указатель на функцию если false);
}
1
19423 / 10040 / 2446
Регистрация: 30.01.2014
Сообщений: 17,701
12.04.2015, 22:09
алексашк, ну может быть имелось в виду что-то такое?
С++11:
C++ Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <type_traits>
 
template <typename IfFunc, typename ElseFunc>
auto condition(bool boolExpr, IfFunc fst, ElseFunc sec)
    -> typename std::common_type<decltype(fst()), decltype(sec())>::type
{
    if(boolExpr)
    {
        return fst();
    }
    return sec();
}
 
int main()
{
   /* double a = 1 < 2 ? 1.2 : 2; */
   double a = condition(1 < 2 /* ? */, []{ return 1.2; } /* : */, []{ return 2; } );
}
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.04.2015, 22:09
Помогаю со студенческими работами здесь

Альтернативные реализации тернарного оператора
помогите, пожалуйста,написать программу: На примере тернарного оператора условное выражение приведите его альтернативные реализации. ...

Перевод в if из тернарного оператора условия
Помогите перевести это в условие if. return (n==0) ? i : recursion( n/10, i*10 + n%10 );

Не понятное поведение тернарного оператора
#include &quot;stdafx.h&quot; #include &lt;initializer_list&gt; #include &lt;iostream&gt; #include &lt;algorithm&gt; int mas =...

Порядок выполнения тернарного оператора (Книга С.Липпмана)
Здравствуйте, все. Читаю на данный момент книгу Стенли Липпмана &quot;Базовый курс&quot;. Глава 4. Выражения. Упражнение 4.33, стр.218: ...

Применение тернарного оператора. Необходимо определить месяц
Прошу помочь. Я новичок. Не могу разобраться. Задача: По номеру введенным пользователем (от 1 до 12), необходимо вывести на экран...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Работа с объемным DOM в javascript
Htext 04.04.2025
Сегодня прочитал статью тут о расходах памяти в JS, ее утечках и т. п. И вот что вспомнил из своей недавней практики. Может, кому пригодится. Хотя, в той статье об этом тоже есть. Дело в том, что я. . .
Оптимизация производительности Node.js с помощью кластеризации
run.dev 04.04.2025
Масштабирование приложений для обработки тысяч и миллионов запросов — обыденная задача для многих команд. Node. js, благодаря своей асинхронной событийно-ориентированной архитектуре, стал популярной. . .
Управление зависимостями в Python с Poetry
py-thonny 04.04.2025
Стандартный инструмент для установки пакетов в Python - pip - прекрасно справляется с базовыми сценариями: установил пакет командой pip install и используешь его. Но что произойдёт, когда разные. . .
Мониторинг с Prometheus в PHP
Jason-Webb 04.04.2025
Prometheus выделяется среди других систем мониторинга своим подходом к сбору и хранению метрик. В отличие от New Relic, который использует агентный подход и отправляет данные во внешнее хранилище,. . .
Пакет Context в Golang: Управление потоками и ресурсами
golander 04.04.2025
Работа с горутинами в Go часто напоминает управление непослушными детьми - они разбегаются кто куда, делают что хотят и не всегда завершаются вовремя. К счастью, в Go 1. 7 появился пакет context,. . .
Контейнеризация React приложений с Docker
Reangularity 03.04.2025
Контейнеризация позволяет упаковать приложение со всеми его зависимостями в автономный контейнер, который можно запустить на любой платформе с установленным Docker. Это существенно упрощает процессы. . .
Свой попап в SwiftUI
mobDevWorks 03.04.2025
SwiftUI, как декларативный фреймворк от Apple, предоставляет множество инструментов для создания пользовательских интерфейсов. В нашем распоряжении есть такие API как alerts, popovers, action sheets. . .
Антипаттерны микросервисной архитектуры
ArchitectMsa 03.04.2025
Хорошо спроектированная микросервисная система может выдержать испытание временем, оставаясь гибкой, масштабируемой и устойчивой к большинству проблем. Такая архитектура обладает высоким уровнем. . .
std::mutex в C++: Советы и примеры использования
bytestream 03.04.2025
std::mutex - это механизм взаимного исключения, который гарантирует, что критический участок кода выполняется только одним потоком в каждый момент времени. Это простое, но могущественное средство. . .
Не удержался от оценки концепции двигателя Стирлинга.
Hrethgir 03.04.2025
Сколько не пытался - она выдавала правильные схемы, причём случайно рисовала горячие области в середине, холодные по краям, трубки с краёв в низ и магнит в соединяющей, но при этой выдавала описание. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер