Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ пользователь вводит число, вывести на экран его побитово https://www.cyberforum.ru/ cpp-beginners/ thread316898.html
Всем привет :) Подскажите плз как сделать вот это задание пользователь вводит число, вывести на экран его побитово Заранее спасибо)
C++ Решение СЛАУ в С++
Помогите с программой, пожалуйста. Задание: Решить СЛАУ A^2*X=Y^T, где A = ∣2 1 5 2| |5 2 2 6| |2 2 1 2| |1 3 3 1∣ , Y =
C++ Система счисления
Написать программу в Delphi, обучающую переводу чисел из десятичной системы счиления в двоичную, из восьмиричной в двоичную, из шестнадцатиричной в двоичную и наоборот.
C++ Одномерные массивы на С! помогите пожалуйста решить задачку на С.. В одномерном массиве, состоящем из п вещественных элементов, вычислить: 1) количество элементов массива, равных 0; 2) сумму элементов массива,... https://www.cyberforum.ru/ cpp-beginners/ thread316882.html
C++ Какой С++ лучше? https://www.cyberforum.ru/ cpp-beginners/ thread316877.html
Подскажите, какой С++ лучше выбрать для изучения. Я имею 2 книги: "Освой самостоятельно С++ за 21 день" 2010 год и "С++ Шаг за шагом" 2010 год. Чтобы можно было работать с этими книгами. Visual C++...
C++ оператор if, некорректно работает программа
#include <iostream.h> #include <math.h> main () { int b; double z, x=0.63, c=1.5, d=2, a=0.37; cout << "Vvedite znachenie B" << endl; cin >> b;
Бинарные деревья C++
На с++ с объектно-ориентированным подходом(тоисть с помощю класов) нужно представить арифметическое выражение типа 3*((7+1)/4)+(17-5) в виде бинарного дерева и обчислить арифметическое выражнеие....
C++ Вычисление выражения по формуле в виде подпрограммы оформить в виде подпрограмы вычисление {{U}_{n}}^{m}=\frac{n!}{m!(n-m)!}, составить програму для расчёта величины z={{U}_{15}}^{1}+{{U}_{14}}^{2}+...+{{U}_{8}}^{8} https://www.cyberforum.ru/ cpp-beginners/ thread316869.html
C++ Строки https://www.cyberforum.ru/ cpp-beginners/ thread316851.html
Составить программу для удаления из введенного предложения слова с максимальным количеством гласных букв.
C++ Трудности с итерацией и подсчетом количеста функций Возникли трудности в подсчете количества итераций и количества функций #include <iostream> #include<windows.h> using namespace std; int main() { double Xm, Ym, x1, x2, y1, y2, a, b,... https://www.cyberforum.ru/ cpp-beginners/ thread316840.html
быдлокодер
1720 / 907 / 106
Регистрация: 04.06.2008
Сообщений: 5,630
0

В функцию-метод передать указатель на другую функцию-метод и вызвать через переданный указатель

09.06.2011, 22:15. Просмотров 2532. Ответов 1
Метки (Все метки)


Друзья! Всем привет. Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
class otets {
 public:
  void f (void (otets::*p)());         
 private:
  void echo_f (){};            
};
 
 
void otets::f (void (otets::*p)()) {}         
 
int main () {}
Компилится, а вот так вот:
C++
1
void otets::f (void (otets::*p)()) {p();}
Не компилится.
Код упрощён донельзя, так-то бы безо всяких указателей работал, если бы просто одну функцию из другой надо было вызвать. Спасибо, кто поможет!

Добавлено через 45 минут
А компилятор пишет: надо использовать .* или ->* для вызова; это я понимаю, функция метод вызывается не сама по себе, а как член класса, но как воплотить это в жизнь- ума не приложу.

Добавлено через 22 минуты
Типа я нашёл ответ, как-то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class otets {
 public:
  void f (void (otets::*p)(), otets& );         
 public:
  void echo_f (){};            
};
 
 
void otets::f (void (otets::*p)(), otets& ot ) {(ot.*p)();}         
int main () {
 void (otets::*p)()= &otets::echo_f;
 otets ot_;
 ot_.f(p, ot_);
}
Основное: мало аргументами передавать указатель на функцию, надо ещё передавать и объект. Такие дела.

Вернуться к обсуждению:
В функцию-метод передать указатель на другую функцию-метод и вызвать через переданный указатель
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.06.2011, 22:15
Готовые ответы и решения:

Как передать указатель на функцию через метод класса ?
typedef void (*FuncCallback)(float* flValue); Пробовал по всякому и ни как: Class.CallFunc...

Функция, получающая указатель на обычную функцию, получает указатель на метод класса
Здравтсвуйте. Имеется вопрос по указателям на методы класса. Допустим, есть функция( f ), которая...

Вызвать метод через указатель на метод
class MenuItem { public: MenuItem(string name, MenuItem *parent = nullptr,...

Как передать указатель функции в другую функцию?
Добрый вечер.:) Кто нибудь знает как передать указатель функции в другую? за ранее...

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