Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpCbMd 447 of 696 menu
◀ ▶

Указатель на метод в C++

Указатель на метод хранит адрес функции-члена вместе с типом класса, к которому она относится.

Тип пишут как void (Box::*mp)() - имя класса стоит перед ::*, дальше идет сигнатура метода. Вызов комбинируют объект и указатель оператором .*. Запишем класс, указатель и вызов из main:

#include <iostream> struct Box { int size = 0; void report() { std::cout << size << "\n"; } }; int main() { Box obj{12}; void (Box::*mp)() = &Box::report; (obj.*mp)(); return 0; }

В struct Unit добавьте метод void ping(), печатающий "ok". Объект Unit и указатель void (Unit::*fn)() свяжите с ping и вызовите метод через .*.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить