-Поиск по дневнику

Поиск сообщений в rss_forum_sources_ru

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 29.07.2007
Записей:
Комментариев:
Написано: 80


Можно ли как-то без временных переменных?

Среда, 22 Июля 2020 г. 21:25 + в цитатник
JoeUser: Пусть будет тут вторая часть истории с хэпиэндом :)

    #include
    #include
    #include
    //------------------------------------------------------------------------------
    using CallbackType = std::function;
    // ------------------------------------------------------------------------------
    class Karbofos {
    CallbackType Call;
    public:
    const std::string Name = "Карбофос";
    void SetCallback(CallbackType C) {
    Call = std::move(C);
    }
    void Run() {
    if (Call)
    Call(this, 1, 20);
    std::cout << "- Не продам!\n";
    }
    };
    //------------------------------------------------------------------------------
    class Shef {
    public:
    void Entreaty(void* c, int a, int b) {
    std::cout << "- " << ((Karbofos*)c)->Name
    << ", продай слона за "
    << a << "." << b << "р ?\n";
    }
    };
    //------------------------------------------------------------------------------
    int main() {
    Karbofos K;
    Shef S;
    K.SetCallback(std::bind(
    &Shef::Entreaty, &S,
    std::placeholders::_1,
    std::placeholders::_2,
    std::placeholders::_3)
    );
    K.Run();
    return 0;
    }

https://forum.sources.ru/index.php?showtopic=419210&view=findpost&p=3834948

Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку