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

Вызов глобальной функции из объекта класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить положение восьми ферзей на шахматной доске, при котором ни один ферзь не угрожает другому http://www.cyberforum.ru/cpp-beginners/thread1050296.html
Напишите программу, использующую рекурсию, определяющую положение восьми ферзей на шахматной доске, при котором ни один ферзь не угрожает другому.
C++ Робот К-79 #include <iostream> #include <vector> using namespace std; int main(int argc, char* argv) { char program=""; cin>>program; char direction='a'; http://www.cyberforum.ru/cpp-beginners/thread1050290.html
выдает ошибки,какие не могу понять C++
/*В целочисленном массиве найти количество четных чисел, рас-положенных между первым и последним нулевыми числами этого мас-сива. Предусмотреть случаи, когда нет нулей, нуль единственный, нет четных...
двухмерный массив(можно с использованием функцией) C++
В матрице найти количество строк, у которых есть хотя бы один нуль и номер первой такой строки.
C++ В матрице найти количество строк, у которых все нули http://www.cyberforum.ru/cpp-beginners/thread1050275.html
В матрице найти количество строк, у которых все нули (с комментариями если можно)
C++ Сортировка методом Шелла Не могу разобраться с сортировкой методом Шелла именно в двумерном массиве. Если, например, нам дан двумерный массив 10 на 10, а элементы нужно расположить в порядке убывания. Как реализовать эту... подробнее

Показать сообщение отдельно
Убежденный
Ушел с форума
Эксперт С++
15690 / 7200 / 1138
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
20.12.2013, 23:49
Можно нечто подобное сделать, используя C++11 и Boost.Bind.

Например:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <stdio.h>
#include <boost/bind.hpp>
 
 
 
// Функция с двумя параметрами.
 
int TwoArgsFunction(char const *pArg1, char const *pArg2)
{
    return (printf("%s, %s!\r\n", pArg1, pArg2));
}
 
 
 
// Функция с тремя параметрами.
 
bool ThreeArgsFunction(int Arg1, int Arg2, int Arg3)
{
    printf("%d + %d + %d = %d\r\n", Arg1, Arg2, Arg3, Arg1 + Arg2 + Arg3);
    return true;
}
 
 
 
// Класс, который будет вызывать функции по запросу.
 
template <typename T>
struct caller
{
    caller(T t) : m_t(t) {}
    void call() { m_t(); }
    T m_t;
};
 
 
 
// Функция для создания объектов "caller" (чтобы не нужно
// было указывать точный тип шаблонного параметра).
 
template <typename T>
caller<T> create_caller(T t) { return (caller<T>(t)); }
 
 
 
int main()
{
    auto Caller1 = create_caller(boost::bind(TwoArgsFunction, "Hello", "World"));
    auto Caller2 = create_caller(boost::bind(ThreeArgsFunction, 100, 200, 300));
 
    Caller1.call();
    Caller2.call();
 
    return 0;
}
Вывод:
> Hello, World !
> 100 + 200 + 300 = 600
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru