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

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

Войти
Регистрация
Восстановить пароль
 
Madbomber
0 / 0 / 0
Регистрация: 21.12.2012
Сообщений: 15
Завершенные тесты: 1
#1

Передача оператора в функцию - C++

27.08.2014, 08:50. Просмотров 242. Ответов 4
Метки нет (Все метки)

Возможно ли как то передать оператор в функцию?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.08.2014, 08:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Передача оператора в функцию (C++):

Передача в метод по перегрузке оператора указателя на объект - C++
У нас есть массив указателей на базовый класс STRING **ptr = new STRING* ; for (int i = 0; i<size; ++i) { ...

Передача объекта в функцию или функцию друга - C++
Здравствуйте, уважаемые программисты :) К примеру есть такой код. #include <iostream> using namespace std; class My_Class1 { ...

Передача массива в функцию используя указатель на функцию - C++
У меня имеется готовая программа без передачи функции в функцию указателем, мне нужно передать функцию ввода масива в функцию его обработки...

Передача указателя на шаблонную функцию в другую функцию - C++
Пишу тест для нескольких улучшений квиксорта с измерением времени. Функция benchmark принимает итераторы для диапазона элементов, указатель...

Передача двухмерного массива из функцию в функцию - C++
Допустим у меня есть функция, в которой "генерируется" массив. Но нужно его передать в другую функцию, которая его выведет на экран. ...

Вычислить функцию при использовании оператора for - C++
Вычислить f(x)=x^2+b, при x=-10,-9,...10 с использованием оператора for

4
Alexander_1
10 / 10 / 0
Регистрация: 18.08.2014
Сообщений: 58
27.08.2014, 08:54 #2
Параметрами функции могут быть переменные, указатели и ссылки. Напишите конкретно задачу, что вы хотите делать? Может вам подскажут другой путь ее решения
0
Ilot
Модератор
Эксперт С++
1818 / 1176 / 232
Регистрация: 16.05.2013
Сообщений: 3,105
Записей в блоге: 5
Завершенные тесты: 1
27.08.2014, 09:00 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Да, если он функциональный объект:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <functional>
template <class T, class Op>
T func(T t1, T t2, Op op) {
    return op(t1, t2);
}
int main() {
    int t1 = 5;
    int t2 = 3;
    std::cout << t1 << " + " << t2 << " = " <<  func(t1, t2, std::plus<int>()) << std::endl;
    std::cout << t1 << " - " << t2 << " = " <<  func(t1, t2, std::minus<int>()) << std::endl;
    std::cout << t1 << " * " << t2 << " = " <<  func(t1, t2, std::multiplies<int>()) << std::endl;
    std::cout << t1 << " / " << t2 << " = " <<  func(t1, t2, std::divides<int>()) << std::endl;
    std::cout << t1 << " % " << t2 << " = " <<  func(t1, t2, std::modulus<int>()) << std::endl;
 
    return 0;
}
Можно реализовать передачу символов операций, но это не лучший вариант.
1
Madbomber
0 / 0 / 0
Регистрация: 21.12.2012
Сообщений: 15
Завершенные тесты: 1
27.08.2014, 09:01  [ТС] #4
Спасибо большое
0
castaway
Эксперт С++
4884 / 3019 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
27.08.2014, 09:04 #5
Можно. Например через шаблон.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.08.2014, 09:04
Привет! Вот еще темы с ответами:

При помощи оператора WHILE протабулировать функцию в диапазоне от 0.5 до 5 с шагом 0.1 - C++
Помогите пожалуйста!!! Разработать алгоритмы и программы решения задач: a) при помощи оператора WHILE протабулировать функцию в...

Шаблоны и дружественность. Перегрузка оператора << через дружественную функцию в шаблоне - C++
Доброго времени суток, уважаемые форумчане! Есть класс-шаблон, реализующий объект &quot;Матрица&quot;. Для него перегружены некоторые операторы....

Написать функцию перегрузки оператора инкремента для увеличения переменной типа enum class - C++
Доброго времени суток. Есть перечисление. enum class Month { jan = 1, feb, mar, apr, may, jun, jul, aug, sep, nov, dec }; ...

Написать рекурсивную функцию которая принимает два аргумента и перемножает их между собой, но без оператора умножения - C++
Добрый день, помогите пожалуйста с написанием рекурсивной функции или хотябы с обычным цикличиским оператаром в мейне, не могу просто...


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

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

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