#include <iostream>
class druzyna {
};
class interfejs {
public:
typedef void (interfejs::*vcall)(druzyna A,druzyna B,druzyna C,druzyna D);
void menu_wyswietlania_druzyn(druzyna A,druzyna B,druzyna C,druzyna D);
int menu_glowne(vcall menu_wyswietlania_druzyn,druzyna A,druzyna B,druzyna C,druzyna D);
void ekran_powitalny() {
}
};
int interfejs::menu_glowne(vcall menu_wyswietlania_druzyn,druzyna A,druzyna B,druzyna C,druzyna D)
{
(this->*menu_wyswietlania_druzyn)(A, B, C, D);
return 1;
}
void interfejs::menu_wyswietlania_druzyn(druzyna A,druzyna B,druzyna C,druzyna D)
{
std::cout << "działa";
}
//kawalek maina:
int main() {
interfejs intf;
intf.ekran_powitalny();
druzyna Arsenal,Barcelona,Manchester_United,Real_Madryt;
intf.menu_glowne(&interfejs::menu_wyswietlania_druzyn,Arsenal,Barcelona,Manchester_United,Real_Madryt);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgogCiAKIAogCiAKY2xhc3MgZHJ1enluYSB7CiAKfTsKIApjbGFzcyBpbnRlcmZlanMgewoJcHVibGljOgoJdHlwZWRlZiB2b2lkIChpbnRlcmZlanM6Oip2Y2FsbCkoZHJ1enluYSBBLGRydXp5bmEgQixkcnV6eW5hIEMsZHJ1enluYSBEKTsKCXZvaWQgbWVudV93eXN3aWV0bGFuaWFfZHJ1enluKGRydXp5bmEgQSxkcnV6eW5hIEIsZHJ1enluYSBDLGRydXp5bmEgRCk7CglpbnQgbWVudV9nbG93bmUodmNhbGwgbWVudV93eXN3aWV0bGFuaWFfZHJ1enluLGRydXp5bmEgQSxkcnV6eW5hIEIsZHJ1enluYSBDLGRydXp5bmEgRCk7Cgl2b2lkIGVrcmFuX3Bvd2l0YWxueSgpIHsKIAoJfQp9OwogCiAKIAppbnQgaW50ZXJmZWpzOjptZW51X2dsb3duZSh2Y2FsbCBtZW51X3d5c3dpZXRsYW5pYV9kcnV6eW4sZHJ1enluYSBBLGRydXp5bmEgQixkcnV6eW5hIEMsZHJ1enluYSBEKQp7CiAKKHRoaXMtPiptZW51X3d5c3dpZXRsYW5pYV9kcnV6eW4pKEEsIEIsIEMsIEQpOwpyZXR1cm4gMTsKIAp9CiAKdm9pZCBpbnRlcmZlanM6Om1lbnVfd3lzd2lldGxhbmlhX2RydXp5bihkcnV6eW5hIEEsZHJ1enluYSBCLGRydXp5bmEgQyxkcnV6eW5hIEQpCnsKCXN0ZDo6Y291dCA8PCAiZHppYcWCYSI7Cn0KIAogCiAKLy9rYXdhbGVrIG1haW5hOgogaW50IG1haW4oKSB7CiAgICBpbnRlcmZlanMgaW50ZjsKICAgIGludGYuZWtyYW5fcG93aXRhbG55KCk7CiAgICBkcnV6eW5hIEFyc2VuYWwsQmFyY2Vsb25hLE1hbmNoZXN0ZXJfVW5pdGVkLFJlYWxfTWFkcnl0OwogICAgaW50Zi5tZW51X2dsb3duZSgmaW50ZXJmZWpzOjptZW51X3d5c3dpZXRsYW5pYV9kcnV6eW4sQXJzZW5hbCxCYXJjZWxvbmEsTWFuY2hlc3Rlcl9Vbml0ZWQsUmVhbF9NYWRyeXQpOwogfQ==