Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 2
Регистрация: 10.12.2011
Сообщений: 47
1

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

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

Author24 — интернет-сервис помощи студентам
Пример:
C++
1
2
3
4
5
// Общая функция increment
void Test::IncBaseFunction ( void (Test::*IncFunct)() ) 
{ 
// Как правильно передать и вызвать IncFunct ? 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.08.2013, 12:28
Ответы с готовыми решениями:

Передача адреса класса в функцию
Здравствуйте:) У меня такой вопрос, нигде не могу найти ответ: как сделать так, чтобы функция...

Указатели Char, передача адреса в функцию
в данном случае проблема выглядит следующим образом: main(void) { char *map, *moves; ...

Передача адреса суммы двух чисел в функцию
#include <iostream> using namespace std; double MyF(double x) { x*=2; cout<<"Размер x: "...

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

4
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
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
0 / 0 / 2
Регистрация: 10.12.2011
Сообщений: 47
23.08.2013, 13:18  [ТС] 3
А если бы функция Test::*IncFunct() принимала параметры, например Test::*IncFunct(int var) - можно ли как-то их использовать в IncBaseFunction и если да, то как?
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
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
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.08.2013, 13:24
Помогаю со студенческими работами здесь

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

Функции и класы в С++ Builder
Привет всем. Помогите разобратся с функциями и класами. 1-вый раз их использую. Хочу сделать чтоб...

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru