Можно ли как-то без временных переменных?
|
|
Среда, 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
Метки:
C/C++:
Общие вопросы
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-