#include <iostream>
#include <string>
#include <functional> // Required for std::function
class Button {
private:
// TODO: Declare a member to store the callback (std::function<void()>)
std::function<void()> onClick;
public:
// TODO: Implement setCallback
void setCallback(std::function<void()> cb) {
// Assign cb to member
onClick = cb;
}
// TODO: Implement press()
void press() {
// Check if onClick is valid, then call it
if (onClick) onClick();
}
};
int main() {
Button btn;
// TODO: Pass a Lambda expression to setCallback
// The lambda should print "Action Executed!" followed by a newline
// btn.setCallback( ... );
auto cb = [](){std::cout << "Action Executed!\n";};
btn.setCallback(cb);
int N;
if (!(std::cin >> N)) return 0;
for (int i = 0; i < N; ++i) {
std::string cmd;
std::cin >> cmd;
if (cmd == "PRESS") {
btn.press();
}
}
return 0;
}