#include <iostream>
using namespace std;
class Test {
public:
int a;
Test () : a(0) {}
};
class Lol : public Test {
public:
int a;
Lol () : a(0) {}
};
void fun (Test * test)
{
cout << "obiekt wew fun przed operatorem = " << test->a << endl;
test->a = 3;
cout << "obiekt wew fun po operatorze = " << test->a << endl;
}
int main()
{
Lol obiekt;
obiekt.a = 9;
cout << "obiekt przed fun: " << obiekt.a << endl;
fun((Test*)(void*)&obiekt);
cout << "obiekt po fun: " << obiekt.a << endl;
cin.get();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwogCmNsYXNzIFRlc3QgewogICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgICAgIGludCBhOwogICAgICAgICAgICAgICAgVGVzdCAoKSA6IGEoMCkge30KfTsKIApjbGFzcyBMb2wgOiBwdWJsaWMgVGVzdCB7CiAgICAgICAgcHVibGljOgogICAgICAgICAgICAgICAgaW50IGE7CiAgICAgICAgICAgICAgICBMb2wgKCkgOiBhKDApIHt9Cn07CiAKdm9pZCBmdW4gKFRlc3QgKiB0ZXN0KQp7CiAgICAgICAgY291dCA8PCAib2JpZWt0IHdldyBmdW4gcHJ6ZWQgb3BlcmF0b3JlbSA9ICIgPDwgdGVzdC0+YSA8PCBlbmRsOwogICAgICAgIHRlc3QtPmEgPSAzOwogICAgICAgIGNvdXQgPDwgIm9iaWVrdCB3ZXcgZnVuIHBvIG9wZXJhdG9yemUgPSAiIDw8IHRlc3QtPmEgPDwgZW5kbDsKfQogCmludCBtYWluKCkKewogICAgICAgIExvbCBvYmlla3Q7CiAgICAgICAgb2JpZWt0LmEgPSA5OwogICAgICAgIGNvdXQgPDwgIm9iaWVrdCBwcnplZCBmdW46ICIgPDwgb2JpZWt0LmEgPDwgZW5kbDsKICAgICAgICBmdW4oKFRlc3QqKSh2b2lkKikmb2JpZWt0KTsKICAgICAgICBjb3V0IDw8ICJvYmlla3QgcG8gZnVuOiAiIDw8IG9iaWVrdC5hIDw8IGVuZGw7CiAgICAgICAgY2luLmdldCgpOwogICAgICAgIHJldHVybiAwOwp9