Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <functional>
- class A {
- int a;
- int b;
- std::function<int(int, int)> funktor;
- public:
- A(int va, int vb, std::function<int(int, int)> f) : a{va}, b{vb}, funktor{f} {}
- void przypiszFunktor(std::function<int(int, int)> f) { funktor = f; }
- int pobierzWynik() const { return funktor(a, b); }
- };
- int main() {
- auto lambda_plus{ [](int a, int b) {
- return a + b; } };
- auto lambda_mnozenie{ [](int a, int b) {
- return a * b; } };
- A obiekt{ 5, 3, lambda_plus };
- std::cout << obiekt.pobierzWynik() << std::endl;
- obiekt.przypiszFunktor(lambda_mnozenie);
- std::cout << obiekt.pobierzWynik() << std::endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment