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

дайте подсказку. Страуструп - C++

Восстановить пароль Регистрация
 
AzaKendler
 Аватар для AzaKendler
214 / 116 / 9
Регистрация: 30.05.2011
Сообщений: 1,772
13.07.2011, 14:30     дайте подсказку. Страуструп #1
10. (*2) Напишите класс или шаблон, подходящий для реализации обратного вызова.
11. (*2.5) Напишите класс Lock (блокировка) для некоторой параллельной системы.

эти 2 задания в конце темы с исключениями. Я конечно понимаю, что они должны быть привязаны к исключениям(например если ресурс залочен и что то пытается получить к нему доступ - генерировать исключение), но....увы не знаю в каком направлении и думать.
Про обратные вызовы, читал в гугле, в данном контексте видимо должно использоваться для возврата к месту генерации исключения?

Не надо готовых текстов. Просто может подсказка какую тему почитать, чтобы реализовать данные задания.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.07.2011, 14:30     дайте подсказку. Страуструп
Посмотрите здесь:

C++ Задача:Страуструп. 4.11.4
Страуструп или С++ за 21 дней? C++
C++ Страуструп
C++ Страуструп
Страуструп. задание C++
C++ namespace Страуструп 3-е издание
дайте небольшую подсказку пожайлуста C++
C++ Страуструп. Грамматики. Парсер

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
13.07.2011, 14:44     дайте подсказку. Страуструп #2
Цитата Сообщение от AzaKendler Посмотреть сообщение
10. (*2) Напишите класс или шаблон, подходящий для реализации обратного вызова.
ну обратный вызов это использование подпрограммы в качестве параметра другой подпрограммы.

1.в классе можно перегрузить operator() и использовать объект как функцию (то бишь функтор)
2.с шаблонами что-то не очень понял, вот какой-то быдлокод написал, хоть ты и не просил.
кто-нибудь оцените корявость?
код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
template<class T>
void out(T val) {
    std::cout << val << '\n';
}
 
template <class T>
void outarr(T* arr, size_t sz, void (*pf)(T)) {
    for (size_t i=0; i<sz; i++)
        pf(arr[i]);
}
 
int main()
{
    int arr[4]={1,2,3,4};
 
    outarr(arr,4,out<int>);
 
 
 
            
    getchar();
}



Цитата Сообщение от AzaKendler Посмотреть сообщение
11. (*2.5) Напишите класс Lock (блокировка) для некоторой параллельной системы.
не думаю что тут требуется что-то серьезное, скорей хватит класса с 2-мя переменными состояния или типа того, в методах можно использовать исключения
Yandex
Объявления
13.07.2011, 14:44     дайте подсказку. Страуструп
Ответ Создать тему
Опции темы

Текущее время: 00:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru