MeehoweCK

Untitled

Jun 25th, 2024
768
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.64 KB | None | 0 0
  1. #include <iostream>
  2. #include <functional>
  3.  
  4. class A {
  5.     int a;
  6.     int b;
  7.     std::function<int(int, int)> funktor;
  8. public:
  9.     A(int va, int vb, std::function<int(int, int)> f) : a{va}, b{vb}, funktor{f} {}
  10.     void przypiszFunktor(std::function<int(int, int)> f) { funktor = f; }
  11.     int pobierzWynik() const { return funktor(a, b); }
  12. };
  13.  
  14. int main() {
  15.     auto lambda_plus{ [](int a, int b) {
  16.         return a + b; } };
  17.     auto lambda_mnozenie{ [](int a, int b) {
  18.         return a * b; } };
  19.     A obiekt{ 5, 3, lambda_plus };
  20.     std::cout << obiekt.pobierzWynik() << std::endl;
  21.     obiekt.przypiszFunktor(lambda_mnozenie);
  22.     std::cout << obiekt.pobierzWynik() << std::endl;
  23. }
Advertisement
Add Comment
Please, Sign In to add comment