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

Присвоение значения указателю на функцию - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ C++ и eclipse http://www.cyberforum.ru/cpp/thread36370.html
Приветствую! Кто-нибудь пробовал "подружить" С++ со средой eclipse ? Интересны мнения. Скачал некоторое время назад плагин CDT (C++ Development Tools) для eclipse, скачал бесплатный компилятор cygwin. Вроде бы подружил и с компилятором, и с отладчиком. Но есть подозрения, что я не все уголки "спилил напильником". Если кто-то работал - поделитесь ЛИЧНЫМ опытом работы в этой среде (имеется...
C++ Strncpy Напишите пожауйста на С аналог функции Strncpy http://www.cyberforum.ru/cpp/thread36182.html
компилятор C++
Всем привет! Пользовался CodeBlock (в нем не подключаются директивы с графикой) и Visual Studio 2005 (он какой то сложный не могу разобраться) Подскажите пожалуйста норм компилятор. что б возможностей по-больше было и не очень закрученый как VS.
C++ Параллельная программа для метода холецкого с помощью openMp и mpi
Товарищи,помогите пожалуйста с параллельным программированием: надо написать параллельную программу для метода холецкого с помощью openMp и mpi!и еще потоков!
C++ Гда можно скачать с++? http://www.cyberforum.ru/cpp/thread35910.html
у кого есть с++ дайте, или хоть ссылочку где скачать можно киньте!
C++ Консольное приложение как можно поставить обработчики на нажатие клавишь ctrl+c и того типа подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
17470 / 5708 / 363
Регистрация: 30.03.2009
Сообщений: 15,670
Записей в блоге: 26
26.05.2009, 23:05     Присвоение значения указателю на функцию
Цитата Сообщение от leviaphan Посмотреть сообщение
А как делать то же самое с функциями - методами класса?
В этом случае нужно понимать, что в любой нестатический метод класса неявно передаётся ещё и указатель на экземпляр класса (который внутри метода доступен как this). А потому в случае указателя на метод вызов можно делать только с экземпляром класса

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
 
class C
{
  public:
    void func (void)
    {
      cout << "C::func" << endl;
    }
};
 
int main()
{
  void (C::*out) (void) = &C::func;
 
  C c, *p;
 
  (c.*out)();
  (p->*out)();
 
  return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru