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

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

Войти
Регистрация
Восстановить пароль
 
Letfar
0 / 0 / 1
Регистрация: 10.12.2011
Сообщений: 47
#1

Передача адреса функции в функцию (Класы) - C++

23.08.2013, 12:28. Просмотров 538. Ответов 4
Метки нет (Все метки)

Пример:
C++
1
2
3
4
5
// Общая функция increment
void Test::IncBaseFunction ( void (Test::*IncFunct)() ) 
{ 
// Как правильно передать и вызвать IncFunct ? 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.08.2013, 12:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Передача адреса функции в функцию (Класы) (C++):

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

Передача функции в функцию? - C++
Здравствуйте. Есть функция: void f (char*) В нее мне нужно записать некоторую строку и числовое значение. int a = 123; ...

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

Передача переменной из функции в функцию - C++
#include <iostream> #include <fstream> // работа с файлами #include <iomanip> // манипуляторы ввода/вывода #include <string> using...

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

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

4
Jupiter
Каратель
Эксперт С++
6561 / 3982 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
23.08.2013, 12:33 #2
Цитата Сообщение от Letfar Посмотреть сообщение
Как правильно передать
C++
1
2
Test test;
test.IncBaseFunction(&Test::MyFunc);
Добавлено через 42 секунды
Цитата Сообщение от Letfar Посмотреть сообщение
Как правильно вызвать IncFunct
C++
1
2
3
4
void Test::IncBaseFunction ( void (Test::*IncFunct)() ) 
{ 
    (this->*IncFunct)();
}
1
Letfar
0 / 0 / 1
Регистрация: 10.12.2011
Сообщений: 47
23.08.2013, 13:18  [ТС] #3
А если бы функция Test::*IncFunct() принимала параметры, например Test::*IncFunct(int var) - можно ли как-то их использовать в IncBaseFunction и если да, то как?
0
Jupiter
Каратель
Эксперт С++
6561 / 3982 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
23.08.2013, 13:21 #4
C++
1
2
3
4
5
6
7
void Test::IncBaseFunction ( void (Test::*IncFunct)(int), int j ) 
{ 
    int i = 100500;
    (this->*IncFunct)(i);
    (this->*IncFunct)(42);
    (this->*IncFunct)(j);
}
0
CheshireCat
Эксперт С++
2896 / 1245 / 78
Регистрация: 27.05.2008
Сообщений: 3,405
23.08.2013, 13:24 #5
Разумеется. Только нужно эти параметры передать:
C++
1
2
3
4
5
6
void Test::IncBaseFunction ( void (Test::*IncFunct)(int), int var ) 
{
    var += 20;
    .......
    (this->*IncFunct)(var);
}
1
23.08.2013, 13:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.08.2013, 13:24
Привет! Вот еще темы с ответами:

Передача двумерного массива из функции в функцию - C++
#include "stdafx.h" #include <iostream> using namespace std; const int n=10; void func_1(); int func_2(int...

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

Передача в функцию и возврат из функции динамической матрицы - C++
#include "stdafx.h" #include "iostream" using namespace std; const int n = 8; double ** f (double ** mas, int n) { ...

Структуры и функции. Передача указателя на структуру в функцию - C++
Всем привет, ребята! Вообще ничего не соображаю сейчас, так как ночь. А кофе нету. Короче, ближе к делу. Хочу написать функцию, которая...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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