Обратные вызовы.

Рубрика: C++, Дата: 15 April, 2013, Автор:

Напишите класс или шаблон, подходящие для реализации обратных вызовов.

Если вы не знаете, что такое обратные вызовы, то вы можете почитать об этом перейдя по ссылке: http://www.kselax.ru/2013/04/callback-funkcii-funkcii-obratnogo-vyzova/  .

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

От такой невзрачный у меня примерчик получился:

//wablon klacca c fynkciei obratnogo vuzova
#include <iostream>
using std::cout;
using std::endl;
#include <string>
using std::string;

template<class T>
class obrVuz
{
public:
	void funkObr(T& s, void print(T&))
	{
		print(s);
	}
};

template<class T>
void funk(T& s)
{
	cout <<s<<' ';
}

int main()
{
	char* s="Hellow";
	obrVuz<char*> a;
	a.funkObr(s,funk);
	
	return 0;
}

Ну что я могу по нему сказать? Ничего больше я не добавлю. Здесь мы в main() создаем объект типа obrVuz<char*> a; , затем вызываем функцию obrVuz::funkObr(), в качестве параметра этой функции передаем строку и funk – это как бы указатель на функцию и все, и нам печатается строка s.

[youtube]http://www.youtube.com/watch?v=3TUek_wcc9U[/youtube]

rss