Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Передача указателя на метод класса и его вызов

388
05 мая 2006 года
warezhka
129 / / 11.10.2004
Как реализовать передачу указателя на метод который при необходимости должна вызвать функция.
(см код):
Код:
//Есть класс например "выпивать" который осуществляет "выпивон"

class CDrink
{
 // Метод распития бутылки
 DrinkBottle(Bottle b, адрес_функции_обработки)
 {
   while (b.NotEmpty())  // пока бутылка не пуста
   {
    b.Drink100g();          // Выпить 100 грамм
    вызов_функции_обработки(b.Sens); // Передать ощущения какойто функции. которая может быть методом класса
   }
 }
};
// ---------------------------
class СTaster
{

 /// Обработчики ощущений
 VodkaHandler(CSense s){...}
 BeerHandler (CSense s){...}
 JuiceHandler(CSense s){...}

 DrinkTest()
 {
  CDrink  d;  CBottle b;

  b.Set("Vodka");
  d.DrinkBottle(b, адрес VodkaHandler);

  b.Set("Beer");
  d.DrinkBottle(b, адрес BearHandler);

  b.Set("Juice");
  d.DrinkBottle(b, адрес JuiceHandler);
 }
};
398
05 мая 2006 года
Alexandoros
630 / / 21.10.2005
->*
388
05 мая 2006 года
warezhka
129 / / 11.10.2004
Цитата:
Originally posted by Alexandoros
->*


Как же прототип функции записать
DrinkBottle(Bottle b, адрес_функции_обработки)
и вызовы
вызов_функции_обработки(b.Sens);
d.DrinkBottle(b, адрес VodkaHandler);

388
05 мая 2006 года
warezhka
129 / / 11.10.2004
поиск великая весчь всеже
http://forum.codenet.ru/showthread.php?s=&threadid=29111&highlight=callback
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог